From: Vasily Averin Date: Fri, 10 Apr 2020 21:34:10 +0000 (-0700) Subject: kernel/gcov/fs.c: gcov_seq_next() should increase position index X-Git-Tag: v4.14.178~103 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1a461aa9842bb737efe2ebc3e89b2a3dc2818c0e;p=thirdparty%2Fkernel%2Fstable.git kernel/gcov/fs.c: gcov_seq_next() should increase position index [ Upstream commit f4d74ef6220c1eda0875da30457bef5c7111ab06 ] If seq_file .next function does not change position index, read after some lseek can generate unexpected output. https://bugzilla.kernel.org/show_bug.cgi?id=206283 Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Acked-by: Peter Oberparleiter Cc: Al Viro Cc: Davidlohr Bueso Cc: Ingo Molnar Cc: Manfred Spraul Cc: NeilBrown Cc: Steven Rostedt Cc: Waiman Long Link: http://lkml.kernel.org/r/f65c6ee7-bd00-f910-2f8a-37cc67e4ff88@virtuozzo.com Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c index 6e40ff6be083d..291e0797125b6 100644 --- a/kernel/gcov/fs.c +++ b/kernel/gcov/fs.c @@ -109,9 +109,9 @@ static void *gcov_seq_next(struct seq_file *seq, void *data, loff_t *pos) { struct gcov_iterator *iter = data; + (*pos)++; if (gcov_iter_next(iter)) return NULL; - (*pos)++; return iter; }