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 linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CAHLe9YZCV3Ed5yf=jfOKNeXnJE6mdXepQozVyV=ugn_d4fYR3g@mail.gmail.com> Date: Thu, 12 Aug 2021 21:38:51 +0800 From: Boyang Xue <bxue@...hat.com> To: Jan Kara <jack@...e.cz> Cc: linux-ext4@...r.kernel.org, tytso@....edu Subject: Re: [kernel-5.11 regression] tune2fs fails after shutdown Thanks Jan! Yes. I will create a test case for fstests. Thanks, Boyang On Thu, Aug 12, 2021 at 8:47 PM Jan Kara <jack@...e.cz> wrote: > > Hello Boyang, > > On Thu 12-08-21 09:47:30, Boyang Xue wrote: > > (Adding the author of the commits) > > Hi Jan, > > > > The commit > > > > 81414b4dd48 ext4: remove redundant sb checksum recomputation > > > > breaks the original reproducer of > > > > 4274f516d4bc ext4: recalucate superblock checksum after updating free > > blocks/inodes > > > > I'm wondering is it expected please? > > Thanks for report! So for record the problem is not that superblock with > incorrect checksum would ever get to disk with my patches but the checksum > will be incorrect in the buffer cache until the moment we start writeout of > the superblock. And tune2fs accesses the buffer cache and sees the > incorrect (stale) checksum. It is impossible to fix this problem completely > (the tune2fs access is fundamentally racy) but yes, I guess returning the > checksum recalculation back will make the race window small and the cost is > small. I'll send a patch for this shortly. > > Also can you perhaps make this sequence into a fstests testcase for ext4 > filesystem so that we have it covered? Thanks! > > Honza > > > On Thu, Aug 5, 2021 at 10:35 AM Boyang Xue <bxue@...hat.com> wrote: > > > > > > Hi, > > > > > > kernel commit > > > > > > 4274f516d4bc ext4: recalucate superblock checksum after updating free > > > blocks/inodes > > > > > > had been reverted by > > > > > > 81414b4dd48 ext4: remove redundant sb checksum recomputation > > > > > > since kernel-5.11-rc1. As a result, the original reproducer fails again. > > > > > > Reproducer: > > > ``` > > > mkdir mntpt > > > fallocate -l 256M mntpt.img > > > mkfs.ext4 -Fq -t ext4 mntpt.img 128M > > > LPDEV=$(losetup -f --show mntpt.img) > > > mount "$LPDEV" mntpt > > > cp /proc/version mntpt/ > > > ./godown mntpt # godown program attached. > > > umount mntpt > > > mount "$LPDEV" mntpt > > > tune2fs -l "$LPDEV" > > > ``` > > > > > > tune2fs fails with > > > ``` > > > tune2fs 1.46.2 (28-Feb-2021) > > > tune2fs: Superblock checksum does not match superblock while trying to > > > open /dev/loop0 > > > Couldn't find valid filesystem superblock. > > > ``` > > > > > > Tested on e2fsprogs-1.46.2 + kernel-5.14.0-0.rc3.29. I think it's a > > > regression. If this is the case, can we fix it again please? > > > > > > Thanks, > > > Boyang > > > -- > Jan Kara <jack@...e.com> > SUSE Labs, CR >
Powered by blists - more mailing lists