From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vasily Averin Date: Fri, 24 Jan 2020 09:03:08 +0300 Subject: [Cluster-devel] [PATCH 1/1] table_seq_next should increase position index Message-ID: <5fb7919e-3bb7-3c90-b42d-495a63b71457@virtuozzo.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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 --- fs/dlm/debug_fs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/dlm/debug_fs.c b/fs/dlm/debug_fs.c index d6bbccb..c1eda93 100644 --- a/fs/dlm/debug_fs.c +++ b/fs/dlm/debug_fs.c @@ -523,7 +523,7 @@ static void *table_seq_next(struct seq_file *seq, void *iter_ptr, loff_t *pos) ri->rsb = r; spin_unlock(&ls->ls_rsbtbl[bucket].lock); dlm_put_rsb(rp); - ++*pos; + ++(*pos); return ri; } spin_unlock(&ls->ls_rsbtbl[bucket].lock); @@ -542,6 +542,7 @@ static void *table_seq_next(struct seq_file *seq, void *iter_ptr, loff_t *pos) if (bucket >= ls->ls_rsbtbl_size) { kfree(ri); + ++(*pos); return NULL; } tree = toss ? &ls->ls_rsbtbl[bucket].toss : &ls->ls_rsbtbl[bucket].keep; -- 1.8.3.1