Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3251a074 authored by Richard Weinberger's avatar Richard Weinberger Committed by Greg Kroah-Hartman
Browse files

ubi: Fix seq_file usage in detailed_erase_block_info debugfs file



[ Upstream commit 0e7572cffe442290c347e779bf8bd4306bb0aa7c ]

3bfa7e141b0b ("fs/seq_file.c: seq_read(): add info message about buggy .next functions")
showed that we don't use seq_file correctly.
So make sure that our ->next function always updates the position.

Fixes: 7bccd12d ("ubi: Add debugfs file for tracking PEB state")
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent c3c1cf3d
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -405,9 +405,6 @@ static void *eraseblk_count_seq_start(struct seq_file *s, loff_t *pos)
{
	struct ubi_device *ubi = s->private;

	if (*pos == 0)
		return SEQ_START_TOKEN;

	if (*pos < ubi->peb_count)
		return pos;

@@ -421,8 +418,6 @@ static void *eraseblk_count_seq_next(struct seq_file *s, void *v, loff_t *pos)
{
	struct ubi_device *ubi = s->private;

	if (v == SEQ_START_TOKEN)
		return pos;
	(*pos)++;

	if (*pos < ubi->peb_count)
@@ -444,11 +439,8 @@ static int eraseblk_count_seq_show(struct seq_file *s, void *iter)
	int err;

	/* If this is the start, print a header */
	if (iter == SEQ_START_TOKEN) {
		seq_puts(s,
			 "physical_block_number\terase_count\tblock_status\tread_status\n");
		return 0;
	}
	if (*block_number == 0)
		seq_puts(s, "physical_block_number\terase_count\n");

	err = ubi_io_is_bad(ubi, *block_number);
	if (err)