Re: Aarch64 EXT4FS inode checksum failures - seems to be weak memory ordering issues

From: Arnd Bergmann
Date: Wed Jan 06 2021 - 16:05:52 EST


On Wed, Jan 6, 2021 at 6:22 PM Will Deacon <will@xxxxxxxxxx> wrote:
> On Wed, Jan 06, 2021 at 01:52:53PM +0000, Russell King - ARM Linux admin wrote:

>
> and the resulting Image is here:
>
> https://mirrors.edge.kernel.org/pub/linux/kernel/people/will/bugs/rmk/Image-5.9.0
>
> 3. Using that kernel, I boot into a 64-bit Debian 10 filesystem and open a
> couple of terminals over SSH.
>
> 4. In one terminal, I run:
>
> $ while (true); do find /var /usr /bin /sbin -type f -print0 | xargs -0
> md5sum > /dev/null; echo 2 | sudo tee /proc/sys/vm/drop_caches; done
>
> (note that sudo will prompt you for a password on the first iteration)
>
> 5. In the other terminal, I run:
>
> $ while (true); do ./hackbench ; sleep 1; done
>
> where hackbench is built from:
>
> https://people.redhat.com/mingo/cfs-scheduler/tools/hackbench.c
>
> and compiled according to comment in the source code.

I tried the Image-5.9.0 on a virtual machine with seven CPUs (two clusters)
running in an M1 mac mini and ran these commands inside.

> With that, I see the following after ten seconds or so:
>
> EXT4-fs error (device sda2): ext4_lookup:1707: inode #674497: comm md5sum: iget: checksum invalid
>
> Russell, Mark -- does this recipe explode reliably for you too?

Negative unfortunately -- no checksum mismatch so far, with 10 minutes
elapsed. I'll keep it running a bit longer.

arnd