lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 23 Jan 2020 14:30:14 +0300 From: Vasily Averin <vvs@...tuozzo.com> To: Jan Kara <jack@...e.cz> Cc: linux-ext4@...r.kernel.org, Theodore Ts'o <tytso@....edu>, Jan Kara <jack@...e.com> Subject: Re: [PATCH 1/1] jbd2_seq_info_next should increase position index On 1/23/20 2:15 PM, Jan Kara wrote: > On Thu 23-01-20 12:05:10, Vasily Averin wrote: >> if seq_file .next fuction does not change position index, >> read after some lseek can generate unexpected output. >> >> Script below generates endless output >> $ q=;while read -r r;do echo "$((++q)) $r";done </proc/fs/jbd2/DEV/info > > I've just tried and this works for me just fine with openSUSE 15.1 > (4.12.14-based) kernel. Is it some recent regression? I think it depends on commit 1f4aace60b0e ("fs/seq_file.c: simplify seq_file iteration code and interface") In OpenVz7 we got complain after backport of this patch. I've reproduced it on last ubuntu kernel $ uname -a Linux vvs-ws 5.3.0-24-generic #26~18.04.2-Ubuntu SMP Tue Nov 26 12:34:22 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ q=;while read -r r;do echo "$((++q)) $r";done </proc/fs/jbd2/sda4-8/info | head -20 1 151327 transactions (132200 requested), each up to 65536 blocks 2 average: 3 0ms waiting for transaction 4 0ms request delay 5 3816ms running transaction 6 0ms transaction was being locked 7 0ms flushing data (in ordered mode) 8 36ms logging transaction 9 29753us average transaction commit time 10 1587 handles per transaction 11 32 blocks per transaction 12 33 logged blocks per transaction 13 151327 transactions (132200 requested), each up to 65536 blocks 14 151327 transactions (132200 requested), each up to 65536 blocks 15 151327 transactions (132200 requested), each up to 65536 blocks 16 151327 transactions (132200 requested), each up to 65536 blocks 17 151327 transactions (132200 requested), each up to 65536 blocks 18 151327 transactions (132200 requested), each up to 65536 blocks 19 151327 transactions (132200 requested), each up to 65536 blocks 20 151327 transactions (132200 requested), each up to 65536 blocks >> https://bugzilla.kernel.org/show_bug.cgi?id=206283 >> Signed-off-by: Vasily Averin <vvs@...tuozzo.com> >> --- >> fs/jbd2/journal.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c >> index 5e408ee..b3e2433 100644 >> --- a/fs/jbd2/journal.c >> +++ b/fs/jbd2/journal.c >> @@ -982,6 +982,7 @@ static void *jbd2_seq_info_start(struct seq_file *seq, loff_t *pos) >> >> static void *jbd2_seq_info_next(struct seq_file *seq, void *v, loff_t *pos) >> { >> + (*pos)++; >> return NULL; >> } >> >> -- >> 1.8.3.1 >>
Powered by blists - more mailing lists