* [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option
@ 2025-09-01 2:03 Chao Yu via Linux-f2fs-devel
2025-09-01 2:03 ` [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode Chao Yu via Linux-f2fs-devel
2025-09-26 18:18 ` [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Zorro Lang via Linux-f2fs-devel
0 siblings, 2 replies; 7+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2025-09-01 2:03 UTC (permalink / raw)
To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel
This testcase tries to check whether f2fs can handle "usrjquota="
during remount correctly, it expects kernel will encounter NULL
pointer dereference bug w/o the fix ("f2fs: fix to avoid NULL pointer
dereference in f2fs_check_quota_consistency()").
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
tests/f2fs/021 | 30 ++++++++++++++++++++++++++++++
tests/f2fs/021.out | 2 ++
2 files changed, 32 insertions(+)
create mode 100755 tests/f2fs/021
create mode 100644 tests/f2fs/021.out
diff --git a/tests/f2fs/021 b/tests/f2fs/021
new file mode 100755
index 00000000..c41760fc
--- /dev/null
+++ b/tests/f2fs/021
@@ -0,0 +1,30 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Chao Yu. All Rights Reserved.
+#
+# FS QA Test No. f2fs/021
+#
+# This testcase tries to check whether f2fs can handle "usrjquota="
+# during remount correctly
+#
+. ./common/preamble
+_begin_fstest auto quick mount
+
+_fixed_by_kernel_commit xxxxxxxxxxxx \
+ "f2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency()"
+
+_require_scratch
+
+_scratch_mkfs >> $seqres.full
+_scratch_mount "-o usrquota"
+quotacheck -uc $SCRATCH_MNT
+_scratch_unmount
+
+_scratch_mount "-o usrjquota=aquota.user,jqfmt=vfsold"
+_scratch_mount "-o remount,usrjquota=,jqfmt=vfsold"
+_scratch_unmount
+
+echo "Silence is golden"
+
+status=0
+exit
diff --git a/tests/f2fs/021.out b/tests/f2fs/021.out
new file mode 100644
index 00000000..09f4062d
--- /dev/null
+++ b/tests/f2fs/021.out
@@ -0,0 +1,2 @@
+QA output created by 021
+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
^ permalink raw reply related [flat|nested] 7+ messages in thread* [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode 2025-09-01 2:03 [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Chao Yu via Linux-f2fs-devel @ 2025-09-01 2:03 ` Chao Yu via Linux-f2fs-devel 2025-09-26 19:22 ` Zorro Lang via Linux-f2fs-devel 2025-09-26 18:18 ` [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Zorro Lang via Linux-f2fs-devel 1 sibling, 1 reply; 7+ messages in thread From: Chao Yu via Linux-f2fs-devel @ 2025-09-01 2:03 UTC (permalink / raw) To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel This is a regression test: 1. create foo & bar 2. write 8M data to foo 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar 4. fpunch in foo w/ specified range If we haven't applied kernel patch ("f2fs: fix to do sanity check on node footer for non inode dnode"), f2fs may missed to do sanity check on corrupted dnode, result in panic in step 4). Cc: Jaegeuk Kim <jaegeuk@kernel.org> Signed-off-by: Chao Yu <chao@kernel.org> --- tests/f2fs/022 | 52 ++++++++++++++++++++++++++++++++++++++++++++++ tests/f2fs/022.out | 2 ++ 2 files changed, 54 insertions(+) create mode 100755 tests/f2fs/022 create mode 100644 tests/f2fs/022.out diff --git a/tests/f2fs/022 b/tests/f2fs/022 new file mode 100755 index 00000000..a5e19a71 --- /dev/null +++ b/tests/f2fs/022 @@ -0,0 +1,52 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2025 Chao Yu. All Rights Reserved. +# +# FS QA Test No. f2fs/022 +# +# This is a regression test: +# 1. create foo & bar +# 2. write 8M data to foo +# 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar +# 4. fpunch in foo w/ specified range +# +. ./common/preamble +_begin_fstest auto quick rw + +. ./common/attr + +_fixed_by_kernel_commit xxxxxxxxxxxx \ + "f2fs: fix to do sanity check on node footer for non inode dnode" + +_require_scratch_nocheck +_require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_xfs_io_command "fpunch" +_require_kernel_config CONFIG_F2FS_CHECK_FS + +# remove all mkfs options to avoid layout change of on-disk inode +export MKFS_OPTIONS="" + +foo_path=$SCRATCH_MNT/foo +bar_path=$SCRATCH_MNT/bar + +_scratch_mkfs >> $seqres.full +_scratch_mount + +touch $foo_path +touch $bar_path +$XFS_IO_PROG $foo_path -c "pwrite 0 8M" >> $seqres.full +sync +foo_ino=`stat -c '%i' $foo_path` +bar_ino=`stat -c '%i' $bar_path` +_scratch_unmount + +# inject foo inode to replace i_nid[0] w/ to bar ino +$F2FS_INJECT_PROG --node --mb i_nid --nid $foo_ino --idx 0 --val $bar_ino $SCRATCH_DEV >> $seqres.full || _fail "failed to inject" + +_scratch_mount +# expect to trigger panic +$XFS_IO_PROG $foo_path -c "fpunch 6984k 4k" +_scratch_unmount + +status=0 +exit diff --git a/tests/f2fs/022.out b/tests/f2fs/022.out new file mode 100644 index 00000000..5307e3d7 --- /dev/null +++ b/tests/f2fs/022.out @@ -0,0 +1,2 @@ +QA output created by 022 +fallocate: Structure needs cleaning -- 2.49.0 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode 2025-09-01 2:03 ` [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode Chao Yu via Linux-f2fs-devel @ 2025-09-26 19:22 ` Zorro Lang via Linux-f2fs-devel 2025-09-28 6:48 ` Chao Yu via Linux-f2fs-devel 0 siblings, 1 reply; 7+ messages in thread From: Zorro Lang via Linux-f2fs-devel @ 2025-09-26 19:22 UTC (permalink / raw) To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel On Mon, Sep 01, 2025 at 10:03:31AM +0800, Chao Yu wrote: > This is a regression test: > 1. create foo & bar > 2. write 8M data to foo > 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar > 4. fpunch in foo w/ specified range > > If we haven't applied kernel patch ("f2fs: fix to do sanity check on > node footer for non inode dnode"), f2fs may missed to do sanity check > on corrupted dnode, result in panic in step 4). > > Cc: Jaegeuk Kim <jaegeuk@kernel.org> > Signed-off-by: Chao Yu <chao@kernel.org> > --- > tests/f2fs/022 | 52 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/f2fs/022.out | 2 ++ > 2 files changed, 54 insertions(+) > create mode 100755 tests/f2fs/022 > create mode 100644 tests/f2fs/022.out > > diff --git a/tests/f2fs/022 b/tests/f2fs/022 > new file mode 100755 > index 00000000..a5e19a71 > --- /dev/null > +++ b/tests/f2fs/022 > @@ -0,0 +1,52 @@ > +#! /bin/bash > +# SPDX-License-Identifier: GPL-2.0 > +# Copyright (c) 2025 Chao Yu. All Rights Reserved. > +# > +# FS QA Test No. f2fs/022 > +# > +# This is a regression test: > +# 1. create foo & bar > +# 2. write 8M data to foo > +# 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar > +# 4. fpunch in foo w/ specified range > +# > +. ./common/preamble > +_begin_fstest auto quick rw > + > +. ./common/attr > + > +_fixed_by_kernel_commit xxxxxxxxxxxx \ > + "f2fs: fix to do sanity check on node footer for non inode dnode" > + > +_require_scratch_nocheck > +_require_command "$F2FS_INJECT_PROG" inject.f2fs > +_require_xfs_io_command "fpunch" > +_require_kernel_config CONFIG_F2FS_CHECK_FS Looks like the CONFIG_F2FS_CHECK_FS is a necessary condition to reproduce that bug, right? I'm wondering is there a better way to check if CONFIG_F2FS_CHECK_FS is enabled, likes reading someone file in /sys or what ever else? Checking kernel config isn't always a recommended way, except no better idea :) > + > +# remove all mkfs options to avoid layout change of on-disk inode > +export MKFS_OPTIONS="" > + > +foo_path=$SCRATCH_MNT/foo > +bar_path=$SCRATCH_MNT/bar > + > +_scratch_mkfs >> $seqres.full > +_scratch_mount > + > +touch $foo_path > +touch $bar_path > +$XFS_IO_PROG $foo_path -c "pwrite 0 8M" >> $seqres.full > +sync > +foo_ino=`stat -c '%i' $foo_path` > +bar_ino=`stat -c '%i' $bar_path` > +_scratch_unmount > + > +# inject foo inode to replace i_nid[0] w/ to bar ino > +$F2FS_INJECT_PROG --node --mb i_nid --nid $foo_ino --idx 0 --val $bar_ino $SCRATCH_DEV >> $seqres.full || _fail "failed to inject" > + > +_scratch_mount > +# expect to trigger panic > +$XFS_IO_PROG $foo_path -c "fpunch 6984k 4k" > +_scratch_unmount > + > +status=0 > +exit > diff --git a/tests/f2fs/022.out b/tests/f2fs/022.out > new file mode 100644 > index 00000000..5307e3d7 > --- /dev/null > +++ b/tests/f2fs/022.out > @@ -0,0 +1,2 @@ > +QA output created by 022 > +fallocate: Structure needs cleaning > -- > 2.49.0 > _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode 2025-09-26 19:22 ` Zorro Lang via Linux-f2fs-devel @ 2025-09-28 6:48 ` Chao Yu via Linux-f2fs-devel 2025-09-28 8:17 ` Zorro Lang via Linux-f2fs-devel 0 siblings, 1 reply; 7+ messages in thread From: Chao Yu via Linux-f2fs-devel @ 2025-09-28 6:48 UTC (permalink / raw) To: Zorro Lang; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel On 9/27/2025 3:22 AM, Zorro Lang wrote: > On Mon, Sep 01, 2025 at 10:03:31AM +0800, Chao Yu wrote: >> This is a regression test: >> 1. create foo & bar >> 2. write 8M data to foo >> 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar >> 4. fpunch in foo w/ specified range >> >> If we haven't applied kernel patch ("f2fs: fix to do sanity check on >> node footer for non inode dnode"), f2fs may missed to do sanity check >> on corrupted dnode, result in panic in step 4). >> >> Cc: Jaegeuk Kim <jaegeuk@kernel.org> >> Signed-off-by: Chao Yu <chao@kernel.org> >> --- >> tests/f2fs/022 | 52 ++++++++++++++++++++++++++++++++++++++++++++++ >> tests/f2fs/022.out | 2 ++ >> 2 files changed, 54 insertions(+) >> create mode 100755 tests/f2fs/022 >> create mode 100644 tests/f2fs/022.out >> >> diff --git a/tests/f2fs/022 b/tests/f2fs/022 >> new file mode 100755 >> index 00000000..a5e19a71 >> --- /dev/null >> +++ b/tests/f2fs/022 >> @@ -0,0 +1,52 @@ >> +#! /bin/bash >> +# SPDX-License-Identifier: GPL-2.0 >> +# Copyright (c) 2025 Chao Yu. All Rights Reserved. >> +# >> +# FS QA Test No. f2fs/022 >> +# >> +# This is a regression test: >> +# 1. create foo & bar >> +# 2. write 8M data to foo >> +# 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar >> +# 4. fpunch in foo w/ specified range >> +# >> +. ./common/preamble >> +_begin_fstest auto quick rw >> + >> +. ./common/attr >> + >> +_fixed_by_kernel_commit xxxxxxxxxxxx \ >> + "f2fs: fix to do sanity check on node footer for non inode dnode" >> + >> +_require_scratch_nocheck >> +_require_command "$F2FS_INJECT_PROG" inject.f2fs >> +_require_xfs_io_command "fpunch" >> +_require_kernel_config CONFIG_F2FS_CHECK_FS > > Looks like the CONFIG_F2FS_CHECK_FS is a necessary condition to reproduce > that bug, right? I'm wondering is there a better way to check if CONFIG_F2FS_CHECK_FS > is enabled, likes reading someone file in /sys or what ever else? Checking kernel config No, I don't see any sysfs entry for checing if CONFIG_F2FS_CHECK_FS is enabled. I checked the testcase w/ image which has CONFIG_F2FS_CHECK_FS=off, the testcase falls into a deadloop inside kernel, so it's fine to get rid of the CONFIG_F2FS_CHECK_FS requirement? Thoughts? Thanks, > isn't always a recommended way, except no better idea :) > >> + >> +# remove all mkfs options to avoid layout change of on-disk inode >> +export MKFS_OPTIONS="" >> + >> +foo_path=$SCRATCH_MNT/foo >> +bar_path=$SCRATCH_MNT/bar >> + >> +_scratch_mkfs >> $seqres.full >> +_scratch_mount >> + >> +touch $foo_path >> +touch $bar_path >> +$XFS_IO_PROG $foo_path -c "pwrite 0 8M" >> $seqres.full >> +sync >> +foo_ino=`stat -c '%i' $foo_path` >> +bar_ino=`stat -c '%i' $bar_path` >> +_scratch_unmount >> + >> +# inject foo inode to replace i_nid[0] w/ to bar ino >> +$F2FS_INJECT_PROG --node --mb i_nid --nid $foo_ino --idx 0 --val $bar_ino $SCRATCH_DEV >> $seqres.full || _fail "failed to inject" >> + >> +_scratch_mount >> +# expect to trigger panic >> +$XFS_IO_PROG $foo_path -c "fpunch 6984k 4k" >> +_scratch_unmount >> + >> +status=0 >> +exit >> diff --git a/tests/f2fs/022.out b/tests/f2fs/022.out >> new file mode 100644 >> index 00000000..5307e3d7 >> --- /dev/null >> +++ b/tests/f2fs/022.out >> @@ -0,0 +1,2 @@ >> +QA output created by 022 >> +fallocate: Structure needs cleaning >> -- >> 2.49.0 >> > _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode 2025-09-28 6:48 ` Chao Yu via Linux-f2fs-devel @ 2025-09-28 8:17 ` Zorro Lang via Linux-f2fs-devel 0 siblings, 0 replies; 7+ messages in thread From: Zorro Lang via Linux-f2fs-devel @ 2025-09-28 8:17 UTC (permalink / raw) To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel On Sun, Sep 28, 2025 at 02:48:23PM +0800, Chao Yu wrote: > On 9/27/2025 3:22 AM, Zorro Lang wrote: > > On Mon, Sep 01, 2025 at 10:03:31AM +0800, Chao Yu wrote: > > > This is a regression test: > > > 1. create foo & bar > > > 2. write 8M data to foo > > > 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar > > > 4. fpunch in foo w/ specified range > > > > > > If we haven't applied kernel patch ("f2fs: fix to do sanity check on > > > node footer for non inode dnode"), f2fs may missed to do sanity check > > > on corrupted dnode, result in panic in step 4). > > > > > > Cc: Jaegeuk Kim <jaegeuk@kernel.org> > > > Signed-off-by: Chao Yu <chao@kernel.org> > > > --- > > > tests/f2fs/022 | 52 ++++++++++++++++++++++++++++++++++++++++++++++ > > > tests/f2fs/022.out | 2 ++ > > > 2 files changed, 54 insertions(+) > > > create mode 100755 tests/f2fs/022 > > > create mode 100644 tests/f2fs/022.out > > > > > > diff --git a/tests/f2fs/022 b/tests/f2fs/022 > > > new file mode 100755 > > > index 00000000..a5e19a71 > > > --- /dev/null > > > +++ b/tests/f2fs/022 > > > @@ -0,0 +1,52 @@ > > > +#! /bin/bash > > > +# SPDX-License-Identifier: GPL-2.0 > > > +# Copyright (c) 2025 Chao Yu. All Rights Reserved. > > > +# > > > +# FS QA Test No. f2fs/022 > > > +# > > > +# This is a regression test: > > > +# 1. create foo & bar > > > +# 2. write 8M data to foo > > > +# 3. use inject.f2fs to inject i_nid[0] of foo w/ ino of bar > > > +# 4. fpunch in foo w/ specified range > > > +# > > > +. ./common/preamble > > > +_begin_fstest auto quick rw > > > + > > > +. ./common/attr > > > + > > > +_fixed_by_kernel_commit xxxxxxxxxxxx \ > > > + "f2fs: fix to do sanity check on node footer for non inode dnode" > > > + > > > +_require_scratch_nocheck > > > +_require_command "$F2FS_INJECT_PROG" inject.f2fs > > > +_require_xfs_io_command "fpunch" > > > +_require_kernel_config CONFIG_F2FS_CHECK_FS > > > > Looks like the CONFIG_F2FS_CHECK_FS is a necessary condition to reproduce > > that bug, right? I'm wondering is there a better way to check if CONFIG_F2FS_CHECK_FS > > is enabled, likes reading someone file in /sys or what ever else? Checking kernel config > > No, I don't see any sysfs entry for checing if CONFIG_F2FS_CHECK_FS is > enabled. > > I checked the testcase w/ image which has CONFIG_F2FS_CHECK_FS=off, the > testcase falls into a deadloop inside kernel, so it's fine to get rid of > the CONFIG_F2FS_CHECK_FS requirement? Thoughts? Sure, let's remove the unnecessary requirement :) And ... > > Thanks, > > > isn't always a recommended way, except no better idea :) > > > > > + > > > +# remove all mkfs options to avoid layout change of on-disk inode > > > +export MKFS_OPTIONS="" > > > + > > > +foo_path=$SCRATCH_MNT/foo > > > +bar_path=$SCRATCH_MNT/bar > > > + > > > +_scratch_mkfs >> $seqres.full > > > +_scratch_mount > > > + > > > +touch $foo_path > > > +touch $bar_path > > > +$XFS_IO_PROG $foo_path -c "pwrite 0 8M" >> $seqres.full > > > +sync > > > +foo_ino=`stat -c '%i' $foo_path` > > > +bar_ino=`stat -c '%i' $bar_path` > > > +_scratch_unmount > > > + > > > +# inject foo inode to replace i_nid[0] w/ to bar ino > > > +$F2FS_INJECT_PROG --node --mb i_nid --nid $foo_ino --idx 0 --val $bar_ino $SCRATCH_DEV >> $seqres.full || _fail "failed to inject" > > > + > > > +_scratch_mount > > > +# expect to trigger panic > > > +$XFS_IO_PROG $foo_path -c "fpunch 6984k 4k" ... if you might be better to change this comment a bit :) If you'd like to resend this patchset, please change the patch 1/2 by the way. then I can merge your next version directly :) Thanks, Zorro > > > +_scratch_unmount > > > + > > > +status=0 > > > +exit > > > diff --git a/tests/f2fs/022.out b/tests/f2fs/022.out > > > new file mode 100644 > > > index 00000000..5307e3d7 > > > --- /dev/null > > > +++ b/tests/f2fs/022.out > > > @@ -0,0 +1,2 @@ > > > +QA output created by 022 > > > +fallocate: Structure needs cleaning > > > -- > > > 2.49.0 > > > > > > _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option 2025-09-01 2:03 [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Chao Yu via Linux-f2fs-devel 2025-09-01 2:03 ` [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode Chao Yu via Linux-f2fs-devel @ 2025-09-26 18:18 ` Zorro Lang via Linux-f2fs-devel 2025-09-28 6:43 ` Chao Yu via Linux-f2fs-devel 1 sibling, 1 reply; 7+ messages in thread From: Zorro Lang via Linux-f2fs-devel @ 2025-09-26 18:18 UTC (permalink / raw) To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel On Mon, Sep 01, 2025 at 10:03:30AM +0800, Chao Yu wrote: > This testcase tries to check whether f2fs can handle "usrjquota=" > during remount correctly, it expects kernel will encounter NULL > pointer dereference bug w/o the fix ("f2fs: fix to avoid NULL pointer > dereference in f2fs_check_quota_consistency()"). > > Cc: Jaegeuk Kim <jaegeuk@kernel.org> > Signed-off-by: Chao Yu <chao@kernel.org> > --- > tests/f2fs/021 | 30 ++++++++++++++++++++++++++++++ > tests/f2fs/021.out | 2 ++ > 2 files changed, 32 insertions(+) > create mode 100755 tests/f2fs/021 > create mode 100644 tests/f2fs/021.out > > diff --git a/tests/f2fs/021 b/tests/f2fs/021 > new file mode 100755 > index 00000000..c41760fc > --- /dev/null > +++ b/tests/f2fs/021 > @@ -0,0 +1,30 @@ > +#! /bin/bash > +# SPDX-License-Identifier: GPL-2.0 > +# Copyright (c) 2025 Chao Yu. All Rights Reserved. > +# > +# FS QA Test No. f2fs/021 > +# > +# This testcase tries to check whether f2fs can handle "usrjquota=" > +# during remount correctly > +# > +. ./common/preamble > +_begin_fstest auto quick mount ^^^^^^^^^^^^^ quota remount I'll help to add these two tags when I merge it. Others look good to me, if you've maken sure it can trigger the bug you want to uncover. Reviewed-by: Zorro Lang <zlang@redhat.com> > + > +_fixed_by_kernel_commit xxxxxxxxxxxx \ > + "f2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency()" > + > +_require_scratch > + > +_scratch_mkfs >> $seqres.full > +_scratch_mount "-o usrquota" > +quotacheck -uc $SCRATCH_MNT > +_scratch_unmount > + > +_scratch_mount "-o usrjquota=aquota.user,jqfmt=vfsold" > +_scratch_mount "-o remount,usrjquota=,jqfmt=vfsold" > +_scratch_unmount > + > +echo "Silence is golden" > + > +status=0 > +exit > diff --git a/tests/f2fs/021.out b/tests/f2fs/021.out > new file mode 100644 > index 00000000..09f4062d > --- /dev/null > +++ b/tests/f2fs/021.out > @@ -0,0 +1,2 @@ > +QA output created by 021 > +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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option 2025-09-26 18:18 ` [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Zorro Lang via Linux-f2fs-devel @ 2025-09-28 6:43 ` Chao Yu via Linux-f2fs-devel 0 siblings, 0 replies; 7+ messages in thread From: Chao Yu via Linux-f2fs-devel @ 2025-09-28 6:43 UTC (permalink / raw) To: Zorro Lang; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel On 9/27/2025 2:18 AM, Zorro Lang wrote: > On Mon, Sep 01, 2025 at 10:03:30AM +0800, Chao Yu wrote: >> This testcase tries to check whether f2fs can handle "usrjquota=" >> during remount correctly, it expects kernel will encounter NULL >> pointer dereference bug w/o the fix ("f2fs: fix to avoid NULL pointer >> dereference in f2fs_check_quota_consistency()"). >> >> Cc: Jaegeuk Kim <jaegeuk@kernel.org> >> Signed-off-by: Chao Yu <chao@kernel.org> >> --- >> tests/f2fs/021 | 30 ++++++++++++++++++++++++++++++ >> tests/f2fs/021.out | 2 ++ >> 2 files changed, 32 insertions(+) >> create mode 100755 tests/f2fs/021 >> create mode 100644 tests/f2fs/021.out >> >> diff --git a/tests/f2fs/021 b/tests/f2fs/021 >> new file mode 100755 >> index 00000000..c41760fc >> --- /dev/null >> +++ b/tests/f2fs/021 >> @@ -0,0 +1,30 @@ >> +#! /bin/bash >> +# SPDX-License-Identifier: GPL-2.0 >> +# Copyright (c) 2025 Chao Yu. All Rights Reserved. >> +# >> +# FS QA Test No. f2fs/021 >> +# >> +# This testcase tries to check whether f2fs can handle "usrjquota=" >> +# during remount correctly >> +# >> +. ./common/preamble >> +_begin_fstest auto quick mount > ^^^^^^^^^^^^^ > quota remount > > I'll help to add these two tags when I merge it. Others look good to me, > if you've maken sure it can trigger the bug you want to uncover. > > Reviewed-by: Zorro Lang <zlang@redhat.com> Thanks for the fix. Thanks, > >> + >> +_fixed_by_kernel_commit xxxxxxxxxxxx \ >> + "f2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency()" >> + >> +_require_scratch >> + >> +_scratch_mkfs >> $seqres.full >> +_scratch_mount "-o usrquota" >> +quotacheck -uc $SCRATCH_MNT >> +_scratch_unmount >> + >> +_scratch_mount "-o usrjquota=aquota.user,jqfmt=vfsold" >> +_scratch_mount "-o remount,usrjquota=,jqfmt=vfsold" >> +_scratch_unmount >> + >> +echo "Silence is golden" >> + >> +status=0 >> +exit >> diff --git a/tests/f2fs/021.out b/tests/f2fs/021.out >> new file mode 100644 >> index 00000000..09f4062d >> --- /dev/null >> +++ b/tests/f2fs/021.out >> @@ -0,0 +1,2 @@ >> +QA output created by 021 >> +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 ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-09-28 8:17 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-09-01 2:03 [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Chao Yu via Linux-f2fs-devel 2025-09-01 2:03 ` [f2fs-dev] [PATCH 2/2] f2fs/022: do sanity check on footer of non inode dnode Chao Yu via Linux-f2fs-devel 2025-09-26 19:22 ` Zorro Lang via Linux-f2fs-devel 2025-09-28 6:48 ` Chao Yu via Linux-f2fs-devel 2025-09-28 8:17 ` Zorro Lang via Linux-f2fs-devel 2025-09-26 18:18 ` [f2fs-dev] [PATCH 1/2] f2fs/021: test quota mount option Zorro Lang via Linux-f2fs-devel 2025-09-28 6:43 ` Chao Yu via Linux-f2fs-devel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).