net: atm: fix update of position index in lec_seq_next
authorColin Ian King <colin.king@canonical.com>
Tue, 27 Oct 2020 11:49:25 +0000 (11:49 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 31 Oct 2020 19:26:30 +0000 (12:26 -0700)
The position index in leq_seq_next is not updated when the next
entry is fetched an no more entries are available. This causes
seq_file to report the following error:

"seq_file: buggy .next function lec_seq_next [lec] did not update
 position index"

Fix this by always updating the position index.

[ Note: this is an ancient 2002 bug, the sha is from the
  tglx/history repo ]

Fixes 4aea2cbff417 ("[ATM]: Move lan seq_file ops to lec.c [1/3]")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20201027114925.21843-1-colin.king@canonical.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/atm/lec.c

index dbabb65d8b6773acc95fc9047453ec0118da2ce1..7226c784dbe0c70e4d6899634cb3821ff5a61960 100644 (file)
@@ -954,9 +954,8 @@ static void *lec_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
        struct lec_state *state = seq->private;
 
-       v = lec_get_idx(state, 1);
-       *pos += !!PTR_ERR(v);
-       return v;
+       ++*pos;
+       return lec_get_idx(state, 1);
 }
 
 static int lec_seq_show(struct seq_file *seq, void *v)