On Thu, Mar 31, 2022 at 06:24:20PM +0530, Ritesh Harjani wrote: > From: Ritesh Harjani <riteshh@xxxxxxxxxxxxx> > > Add another falloc test entry which could hit a kernel bug > with ext4 fast_commit feature w/o below kernel commit [1]. > > <log> > [ 410.888496][ T2743] BUG: KASAN: use-after-free in ext4_mb_mark_bb+0x26a/0x6c0 > [ 410.890432][ T2743] Read of size 8 at addr ffff888171886000 by task mount/2743 > > This happens when falloc -k size is huge which spans across more than > 1 flex block group in ext4. This causes a bug in fast_commit replay > code which is fixed by kernel commit at [1]. > > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git/commit/?h=dev&id=bfdc502a4a4c058bf4cbb1df0c297761d528f54d > > Signed-off-by: Ritesh Harjani <riteshh@xxxxxxxxxxxxx> > --- > tests/generic/468 | 8 ++++++++ > tests/generic/468.out | 2 ++ > 2 files changed, 10 insertions(+) > > diff --git a/tests/generic/468 b/tests/generic/468 > index 95752d3b..5e73cff9 100755 > --- a/tests/generic/468 > +++ b/tests/generic/468 > @@ -34,6 +34,13 @@ _scratch_mkfs >/dev/null 2>&1 > _require_metadata_journaling $SCRATCH_DEV > _scratch_mount > > +# blocksize and fact are used in the last case of the fsync/fdatasync test. > +# This is mainly trying to test recovery operation in case where the data > +# blocks written, exceeds the default flex group size (32768*4096*16) in ext4. > +blocks=32768 > +blocksize=4096 Block size can change based on mkfs parameters. You should extract this dynamically from the filesystem the test is being run on. > +fact=18 What is "fact" supposed to mean? Indeed, wouldn't this simply be better as something like: larger_than_ext4_fg_size=$((32768 * $blksize * 18)) And then > testfile=$SCRATCH_MNT/testfile > > # check inode metadata after shutdown > @@ -85,6 +92,7 @@ for i in fsync fdatasync; do > test_falloc $i "-k " 1024 > test_falloc $i "-k " 4096 > test_falloc $i "-k " 104857600 > + test_falloc $i "-k " $(($blocks*$blocksize*$fact)) test_falloc $i "-k " $larger_than_ext4_fg_size And just scrub all the sizes from the golden output? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx