l2t_seq_next should increase position index
authorVasily Averin <vvs@virtuozzo.com>
Thu, 23 Jan 2020 07:11:13 +0000 (10:11 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jan 2020 10:42:18 +0000 (11:42 +0100)
if seq_file .next fuction 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 <vvs@virtuozzo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/l2t.c

index e9e4500..1a16449 100644 (file)
@@ -678,8 +678,7 @@ static void *l2t_seq_start(struct seq_file *seq, loff_t *pos)
 static void *l2t_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
        v = l2t_get_idx(seq, *pos);
-       if (v)
-               ++*pos;
+       ++(*pos);
        return v;
 }