On Thu, Aug 14, 2025 at 03:54:59PM +0800, Chao Yu wrote:
> On 8/13/25 23:34, Zorro Lang wrote:
> > On Mon, Aug 11, 2025 at 05:44:15PM +0800, Chao Yu wrote:
> >> This is a regression test:
> >> 1. create directory
> >> 2. add a new xattr entry to create xattr node
> >> 3. use inject.f2fs to inject nid of xattr node w/ ino in a file
> >> 4. check whether f2fs kernel module will detect and report such
> >>    corruption in the file
> >>
> >> Signed-off-by: Chao Yu <c...@kernel.org>
> >> ---
> >>  tests/f2fs/020     | 50 ++++++++++++++++++++++++++++++++++++++++++++++
> >>  tests/f2fs/020.out |  2 ++
> >>  2 files changed, 52 insertions(+)
> >>  create mode 100755 tests/f2fs/020
> >>  create mode 100644 tests/f2fs/020.out
> >>
> >> diff --git a/tests/f2fs/020 b/tests/f2fs/020
> >> new file mode 100755
> >> index 00000000..a6a08c8f
> >> --- /dev/null
> >> +++ b/tests/f2fs/020
> >> @@ -0,0 +1,50 @@
> >> +#! /bin/bash
> >> +# SPDX-License-Identifier: GPL-2.0
> >> +# Copyright (c) 2025 Chao Yu.  All Rights Reserved.
> >> +#
> >> +# FS QA Test No. f2fs/020
> >> +#
> >> +# This is a regression test:
> >> +# 1. create directory
> >> +# 2. add a new xattr entry to create xattr node
> >> +# 3. use inject.f2fs to inject nid of xattr node w/ ino in a file
> >> +# 4. check whether f2fs kernel module will detect and report such
> >> +#    corruption in the file
> >> +#
> >> +. ./common/preamble
> >> +_begin_fstest auto quick rw
> >> +
> >> +_cleanup()
> >> +{
> >> +  _scratch_mkfs >> $seqres.full
> >> +}
> >> +
> >> +_fixed_by_kernel_commit 061cf3a84bde \
> >> +  "f2fs: fix to do sanity check on ino and xnid"
> >> +
> >> +export MKFS_OPTIONS=""
> >> +_require_scratch
> > 
> > Same review points with patch 2/3, 
> > 
> >> +_require_command "$F2FS_INJECT_PROG" inject.f2fs
> >> +
> >> +testdir=$SCRATCH_MNT/testdir
> >> +
> >> +_scratch_mkfs >> $seqres.full
> >> +_scratch_mount "-o user_xattr,noinline_xattr"
> >> +
> >> +mkdir $testdir
> >> +# add a new xattr entry to create xattr node
> >> +setfattr -n user.abc -v 123 $testdir
> > 
> > You can call `_require_attrs user` at first, then use "$SETFATTR_PROG"
> 
> Okay, will update them in v2.
> 
> > 
> >> +
> >> +_scratch_unmount
> >> +
> >> +# inject i_xattr_nid w/ nid of inode node
> >> +$F2FS_INJECT_PROG --node --mb i_xattr_nid --nid 4 --val 4 $SCRATCH_DEV >> 
> >> $seqres.full
> >> +
> >> +_scratch_mount
> >> +mkdir $testdir/dir >> $seqres.full 2>&1
> > 
> > May I ask what kind of failure will this case hit, if there's the bug?
> 
> Bug like syzbot reported, you can check the details in below commit:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=061cf3a84bde

So you hope to trigger a test failure by something likes:

"generic/361       _check_dmesg: something found in dmesg"

?

Did you try that, if it can fail this test on general kernel?

Thanks,
Zorro

> 
> Thanks,
> 
> > 
> > Thanks,
> > Zorro
> > 
> >> +_scratch_unmount
> >> +
> >> +echo "Silence is golden"
> >> +
> >> +status=0
> >> +exit
> >> diff --git a/tests/f2fs/020.out b/tests/f2fs/020.out
> >> new file mode 100644
> >> index 00000000..20d7944e
> >> --- /dev/null
> >> +++ b/tests/f2fs/020.out
> >> @@ -0,0 +1,2 @@
> >> +QA output created by 020
> >> +Silence is golden
> >> -- 
> >> 2.49.0
> >>
> > 
> 



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to