[syzbot] [jfs?] KMSAN: uninit-value in BT_STACK_DUMP

8 views
Skip to first unread message

syzbot

unread,
May 5, 2025, 11:08:30 PM5/5/25
to jfs-dis...@lists.sourceforge.net, linux-...@vger.kernel.org, sha...@kernel.org, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 02ddfb981de8 Merge tag 'scsi-fixes' of git://git.kernel.or..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=106abf74580000
kernel config: https://syzkaller.appspot.com/x/.config?x=9dc42c34a3f5c357
dashboard link: https://syzkaller.appspot.com/bug?extid=ba5f49027aace342d24d
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=109589b3980000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15ba1f74580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/5ca57f5a3f77/disk-02ddfb98.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3f23cbc11e68/vmlinux-02ddfb98.xz
kernel image: https://storage.googleapis.com/syzbot-assets/73e63afac354/bzImage-02ddfb98.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/6ef4108d05dc/mount_2.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=169bb02f980000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+ba5f49...@syzkaller.appspotmail.com

bn = 0, index = 0
bn = 0, index = 0
bn = 0, index = 0
bn = 0, index = 0
bn = 0, index = 0
bn = 0, index = 0
bn = 0, index = 0
=====================================================
BUG: KMSAN: uninit-value in BT_STACK_DUMP+0x5e5/0x600 fs/jfs/jfs_btree.h:136
BT_STACK_DUMP+0x5e5/0x600 fs/jfs/jfs_btree.h:136
dtSearch+0x393f/0x3d30 fs/jfs/jfs_dtree.c:774
jfs_lookup+0x179/0x590 fs/jfs/namei.c:1461
lookup_one_qstr_excl_raw+0x204/0x5b0 fs/namei.c:1689
lookup_one_qstr_excl fs/namei.c:1711 [inline]
do_unlinkat+0x2e3/0xe50 fs/namei.c:4631
__do_sys_unlink fs/namei.c:4689 [inline]
__se_sys_unlink fs/namei.c:4687 [inline]
__x64_sys_unlink+0x71/0xb0 fs/namei.c:4687
x64_sys_call+0x29de/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:88
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Local variable nd created at:
__filename_parentat+0x4c/0x990 fs/namei.c:2726
filename_parentat fs/namei.c:2749 [inline]
do_unlinkat+0xe3/0xe50 fs/namei.c:4618

CPU: 1 UID: 0 PID: 5791 Comm: syz-executor444 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8 #0 PREEMPT(undef)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
=====================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

I Hsin Cheng

unread,
May 6, 2025, 9:00:31 AM5/6/25
to syzbot+ba5f49...@syzkaller.appspotmail.com, syzkall...@googlegroups.com, I Hsin Cheng
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 02ddfb981de8

Signed-off-by: I Hsin Cheng <richar...@gmail.com>
---
fs/jfs/namei.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
index 65a218eba8fa..937a7fae0e31 100644
--- a/fs/jfs/namei.c
+++ b/fs/jfs/namei.c
@@ -1448,7 +1448,7 @@ static int jfs_mknod(struct mnt_idmap *idmap, struct inode *dir,

static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags)
{
- struct btstack btstack;
+ struct btstack btstack = {0};
ino_t inum;
struct inode *ip;
struct component_name key;
--
2.43.0

syzbot

unread,
May 6, 2025, 9:31:08 AM5/6/25
to linux-...@vger.kernel.org, richar...@gmail.com, syzkall...@googlegroups.com
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KMSAN: uninit-value in dtSearch

loop0: detected capacity change from 0 to 32768
=====================================================
BUG: KMSAN: uninit-value in UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
BUG: KMSAN: uninit-value in dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
BUG: KMSAN: uninit-value in dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
jfs_lookup+0x18b/0x5a0 fs/jfs/namei.c:1461
lookup_one_qstr_excl_raw+0x204/0x5b0 fs/namei.c:1689
lookup_one_qstr_excl fs/namei.c:1711 [inline]
do_unlinkat+0x2e3/0xe50 fs/namei.c:4631
__do_sys_unlink fs/namei.c:4689 [inline]
__se_sys_unlink fs/namei.c:4687 [inline]
__x64_sys_unlink+0x71/0xb0 fs/namei.c:4687
x64_sys_call+0x29de/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:88
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:
__alloc_frozen_pages_noprof+0x689/0xf00 mm/page_alloc.c:4993
alloc_pages_mpol+0x328/0x860 mm/mempolicy.c:2301
alloc_frozen_pages_noprof+0xf7/0x200 mm/mempolicy.c:2372
alloc_slab_page mm/slub.c:2468 [inline]
allocate_slab+0x24d/0x1210 mm/slub.c:2632
new_slab mm/slub.c:2686 [inline]
___slab_alloc+0xfec/0x3480 mm/slub.c:3872
__slab_alloc mm/slub.c:3962 [inline]
__slab_alloc_node mm/slub.c:4037 [inline]
slab_alloc_node mm/slub.c:4198 [inline]
kmem_cache_alloc_lru_noprof+0x922/0xed0 mm/slub.c:4229
jfs_alloc_inode+0x60/0xf0 fs/jfs/super.c:105
alloc_inode+0x87/0x4a0 fs/inode.c:346
new_inode+0x39/0x460 fs/inode.c:1145
diReadSpecial+0x62/0xb00 fs/jfs/jfs_imap.c:426
jfs_mount+0x760/0x1310 fs/jfs/jfs_mount.c:138
jfs_fill_super+0x8fa/0x1900 fs/jfs/super.c:523
get_tree_bdev_flags+0x6e3/0x920 fs/super.c:1636
get_tree_bdev+0x38/0x50 fs/super.c:1659
jfs_get_tree+0x35/0x40 fs/jfs/super.c:635
vfs_get_tree+0xb0/0x5c0 fs/super.c:1759
do_new_mount+0x73c/0x1620 fs/namespace.c:3881
path_mount+0x6db/0x1e90 fs/namespace.c:4208
do_mount fs/namespace.c:4221 [inline]
__do_sys_mount fs/namespace.c:4432 [inline]
__se_sys_mount+0x6eb/0x7d0 fs/namespace.c:4409
__x64_sys_mount+0xe4/0x150 fs/namespace.c:4409
x64_sys_call+0xfa7/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:166
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 0 UID: 0 PID: 7043 Comm: syz.0.33 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8-dirty #0 PREEMPT(undef)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/29/2025
=====================================================


Tested on:

commit: 02ddfb98 Merge tag 'scsi-fixes' of git://git.kernel.or..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=1439c8f4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=9dc42c34a3f5c357
dashboard link: https://syzkaller.appspot.com/bug?extid=ba5f49027aace342d24d
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
patch: https://syzkaller.appspot.com/x/patch.diff?x=100ae8f4580000

I Hsin Cheng

unread,
May 6, 2025, 10:20:17 AM5/6/25
to syzbot+ba5f49...@syzkaller.appspotmail.com, syzkall...@googlegroups.com, I Hsin Cheng
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 02ddfb981de8

Signed-off-by: I Hsin Cheng <richar...@gmail.com>
---
fs/jfs/jfs_dtree.c | 6 +++---
fs/jfs/jfs_xtree.c | 14 +++++++-------
fs/jfs/namei.c | 14 +++++++-------
3 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c
index 93db6eec4465..87025d832758 100644
--- a/fs/jfs/jfs_dtree.c
+++ b/fs/jfs/jfs_dtree.c
@@ -2083,7 +2083,7 @@ int dtDelete(tid_t tid,
struct metapage *mp, *imp;
dtpage_t *p;
int index;
- struct btstack btstack;
+ struct btstack btstack = {0};
struct dt_lock *dtlck;
struct tlock *tlck;
struct lv *lv;
@@ -2716,7 +2716,7 @@ int jfs_readdir(struct file *file, struct dir_context *ctx)
dtpage_t *p;
int index;
s8 *stbl;
- struct btstack btstack;
+ struct btstack btstack = {0};
int i, next;
struct ldtentry *d;
struct dtslot *t;
@@ -4237,7 +4237,7 @@ int dtModify(tid_t tid, struct inode *ip,
struct metapage *mp;
dtpage_t *p;
int index;
- struct btstack btstack;
+ struct btstack btstack = {0};
struct tlock *tlck;
struct dt_lock *dtlck;
struct lv *lv;
diff --git a/fs/jfs/jfs_xtree.c b/fs/jfs/jfs_xtree.c
index 5ee618d17e77..dd0e542a4978 100644
--- a/fs/jfs/jfs_xtree.c
+++ b/fs/jfs/jfs_xtree.c
@@ -123,7 +123,7 @@ int xtLookup(struct inode *ip, s64 lstart,
s64 llen, int *pflag, s64 * paddr, s32 * plen, int no_check)
{
int rc = 0;
- struct btstack btstack;
+ struct btstack btstack = {0};
int cmp;
s64 bn;
struct metapage *mp;
@@ -520,7 +520,7 @@ int xtInsert(tid_t tid, /* transaction id */
xtpage_t *p; /* base B+-tree index page */
s64 bn;
int index, nextindex;
- struct btstack btstack; /* traverse stack */
+ struct btstack btstack = {0}; /* traverse stack */
struct xtsplit split; /* split information */
xad_t *xad;
int cmp;
@@ -1344,7 +1344,7 @@ int xtExtend(tid_t tid, /* transaction id */
xtpage_t *p; /* base B+-tree index page */
s64 bn;
int index, nextindex, len;
- struct btstack btstack; /* traverse stack */
+ struct btstack btstack = {0}; /* traverse stack */
struct xtsplit split; /* split information */
xad_t *xad;
s64 xaddr;
@@ -1503,7 +1503,7 @@ int xtUpdate(tid_t tid, struct inode *ip, xad_t * nxad)
xtpage_t *p; /* base B+-tree index page */
s64 bn;
int index0, index, newindex, nextindex;
- struct btstack btstack; /* traverse stack */
+ struct btstack btstack = {0}; /* traverse stack */
struct xtsplit split; /* split information */
xad_t *xad, *lxad, *rxad;
int xflag;
@@ -1949,7 +1949,7 @@ int xtAppend(tid_t tid, /* transaction id */
xtpage_t *p; /* base B+-tree index page */
s64 bn, xaddr;
int index, nextindex;
- struct btstack btstack; /* traverse stack */
+ struct btstack btstack = {0}; /* traverse stack */
struct xtsplit split; /* split information */
xad_t *xad;
int cmp;
@@ -2196,7 +2196,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag)
xad_t *xad;
s64 xoff, xaddr;
int xlen, len, freexlen;
- struct btstack btstack;
+ struct btstack btstack = {0};
struct btframe *parent;
struct tblock *tblk = NULL;
struct tlock *tlck = NULL;
@@ -2744,7 +2744,7 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag)
s64 xtTruncate_pmap(tid_t tid, struct inode *ip, s64 committed_size)
{
s64 bn;
- struct btstack btstack;
+ struct btstack btstack = {0};
int cmp;
int index;
int locked_leaves = 0;
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c
index 65a218eba8fa..d04c752823ea 100644
--- a/fs/jfs/namei.c
+++ b/fs/jfs/namei.c
@@ -67,7 +67,7 @@ static int jfs_create(struct mnt_idmap *idmap, struct inode *dip,
struct inode *ip = NULL; /* child directory inode */
ino_t ino;
struct component_name dname; /* child directory name */
- struct btstack btstack;
+ struct btstack btstack = {0};
struct inode *iplist[2];
struct tblock *tblk;

@@ -200,7 +200,7 @@ static struct dentry *jfs_mkdir(struct mnt_idmap *idmap, struct inode *dip,
struct inode *ip = NULL; /* child directory inode */
ino_t ino;
struct component_name dname; /* child directory name */
- struct btstack btstack;
+ struct btstack btstack = {0};
struct inode *iplist[2];
struct tblock *tblk;

@@ -791,7 +791,7 @@ static int jfs_link(struct dentry *old_dentry,
struct inode *ip = d_inode(old_dentry);
ino_t ino;
struct component_name dname;
- struct btstack btstack;
+ struct btstack btstack = {0};
struct inode *iplist[2];

jfs_info("jfs_link: %pd %pd", old_dentry, dentry);
@@ -883,7 +883,7 @@ static int jfs_symlink(struct mnt_idmap *idmap, struct inode *dip,
ino_t ino = 0;
struct component_name dname;
u32 ssize; /* source pathname size */
- struct btstack btstack;
+ struct btstack btstack = {0};
struct inode *ip;
s64 xlen = 0;
int bmask = 0, xsize;
@@ -1069,7 +1069,7 @@ static int jfs_rename(struct mnt_idmap *idmap, struct inode *old_dir,
struct dentry *old_dentry, struct inode *new_dir,
struct dentry *new_dentry, unsigned int flags)
{
- struct btstack btstack;
+ struct btstack btstack = {0};
ino_t ino;
struct component_name new_dname;
struct inode *new_ip;
@@ -1356,7 +1356,7 @@ static int jfs_mknod(struct mnt_idmap *idmap, struct inode *dir,
struct dentry *dentry, umode_t mode, dev_t rdev)
{
struct jfs_inode_info *jfs_ip;
- struct btstack btstack;
+ struct btstack btstack = {0};
struct component_name dname;
ino_t ino;
struct inode *ip;

syzbot

unread,
May 6, 2025, 11:38:05 AM5/6/25
to linux-...@vger.kernel.org, richar...@gmail.com, syzkall...@googlegroups.com
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KMSAN: use-after-free in dtSearch

loop0: detected capacity change from 0 to 32768
=====================================================
BUG: KMSAN: use-after-free in UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
BUG: KMSAN: use-after-free in dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
BUG: KMSAN: use-after-free in dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
jfs_lookup+0x18b/0x5a0 fs/jfs/namei.c:1461
lookup_one_qstr_excl_raw+0x204/0x5b0 fs/namei.c:1689
lookup_one_qstr_excl fs/namei.c:1711 [inline]
do_unlinkat+0x2e3/0xe50 fs/namei.c:4631
__do_sys_unlink fs/namei.c:4689 [inline]
__se_sys_unlink fs/namei.c:4687 [inline]
__x64_sys_unlink+0x71/0xb0 fs/namei.c:4687
x64_sys_call+0x29de/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:88
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:
slab_free_hook mm/slub.c:2324 [inline]
slab_free mm/slub.c:4656 [inline]
kmem_cache_free+0x286/0xf00 mm/slub.c:4758
__d_free+0x43/0x60 fs/dcache.c:336
rcu_do_batch kernel/rcu/tree.c:2568 [inline]
rcu_core+0xa5a/0x21e0 kernel/rcu/tree.c:2824
rcu_core_si+0x12/0x20 kernel/rcu/tree.c:2841
handle_softirqs+0x166/0x6e0 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0x66/0x180 kernel/softirq.c:680
irq_exit_rcu+0x12/0x20 kernel/softirq.c:696
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x84/0x90 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1f/0x30 arch/x86/include/asm/idtentry.h:702

CPU: 0 UID: 0 PID: 6979 Comm: syz.0.35 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8-dirty #0 PREEMPT(undef)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/29/2025
=====================================================


Tested on:

commit: 02ddfb98 Merge tag 'scsi-fixes' of git://git.kernel.or..
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=134ee8f4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=9dc42c34a3f5c357
dashboard link: https://syzkaller.appspot.com/bug?extid=ba5f49027aace342d24d
compiler: Debian clang version 20.1.2 (++20250402124445+58df0ef89dd6-1~exp1~20250402004600.97), Debian LLD 20.1.2
patch: https://syzkaller.appspot.com/x/patch.diff?x=10efba70580000

I Hsin Cheng

unread,
May 6, 2025, 1:20:38 PM5/6/25
to syzbot+ba5f49...@syzkaller.appspotmail.com, sha...@kernel.org, ghansh...@gmail.com, r.sm...@omp.ru, ead...@qq.com, jfs-dis...@lists.sourceforge.net, linux-...@vger.kernel.org, sk...@linuxfoundation.org, linux-kern...@lists.linux.dev, syzkall...@googlegroups.com, I Hsin Cheng
Use C's designated zero initializer for the initialization of local
variable "btstack" to prevent KMSCAN from raising uninit-value error for
it.

Reported-by: syzbot+ba5f49...@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=ba5f49027aace342d24d
Signed-off-by: I Hsin Cheng <richar...@gmail.com>
---
syzbot reported an uninit-value issue. [1]

We can fix this bug with the patch changes, but there's still other bug
in the code as we can see from syzbot's reply[2]. The reproducer doesn't
trigger this issue locally, I'm guessing it's the original issue why the
code jump into "BT_STACK_DUMP", it implies some memory is corrupted.

If you have any suggestion on how to reproduce that bug or look into it,
please let me know, I'll be happy to help.

Btw, I think maybe the btstack can have its own initializer macro? it'll
be more readable and maintainable for future changes if needed.

[1]:
BUG: KMSAN: uninit-value in BT_STACK_DUMP+0x5e5/0x600 fs/jfs/jfs_btree.h:136
BT_STACK_DUMP+0x5e5/0x600 fs/jfs/jfs_btree.h:136
dtSearch+0x393f/0x3d30 fs/jfs/jfs_dtree.c:774
jfs_lookup+0x179/0x590 fs/jfs/namei.c:1461
lookup_one_qstr_excl_raw+0x204/0x5b0 fs/namei.c:1689
lookup_one_qstr_excl fs/namei.c:1711 [inline]
do_unlinkat+0x2e3/0xe50 fs/namei.c:4631
__do_sys_unlink fs/namei.c:4689 [inline]
__se_sys_unlink fs/namei.c:4687 [inline]
__x64_sys_unlink+0x71/0xb0 fs/namei.c:4687
x64_sys_call+0x29de/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:88
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Local variable nd created at:
__filename_parentat+0x4c/0x990 fs/namei.c:2726
filename_parentat fs/namei.c:2749 [inline]
do_unlinkat+0xe3/0xe50 fs/namei.c:4618

CPU: 1 UID: 0 PID: 5791 Comm: syz-executor444 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8 #0 PREEMPT(undef)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025

[2]:
Hello,

syzbot has tested the proposed patch but the reproducer is still triggering an issue:
KMSAN: use-after-free in dtSearch

loop0: detected capacity change from 0 to 32768
=====================================================
BUG: KMSAN: use-after-free in UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
BUG: KMSAN: use-after-free in dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
BUG: KMSAN: use-after-free in dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
UniStrncmp_le fs/jfs/jfs_unicode.h:55 [inline]
dtCompare fs/jfs/jfs_dtree.c:3340 [inline]
dtSearch+0x1261/0x3d30 fs/jfs/jfs_dtree.c:650
jfs_lookup+0x18b/0x5a0 fs/jfs/namei.c:1461
lookup_one_qstr_excl_raw+0x204/0x5b0 fs/namei.c:1689
lookup_one_qstr_excl fs/namei.c:1711 [inline]
do_unlinkat+0x2e3/0xe50 fs/namei.c:4631
__do_sys_unlink fs/namei.c:4689 [inline]
__se_sys_unlink fs/namei.c:4687 [inline]
__x64_sys_unlink+0x71/0xb0 fs/namei.c:4687
x64_sys_call+0x29de/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:88
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xd9/0x1b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

Uninit was created at:
slab_free_hook mm/slub.c:2324 [inline]
slab_free mm/slub.c:4656 [inline]
kmem_cache_free+0x286/0xf00 mm/slub.c:4758
__d_free+0x43/0x60 fs/dcache.c:336
rcu_do_batch kernel/rcu/tree.c:2568 [inline]
rcu_core+0xa5a/0x21e0 kernel/rcu/tree.c:2824
rcu_core_si+0x12/0x20 kernel/rcu/tree.c:2841
handle_softirqs+0x166/0x6e0 kernel/softirq.c:579
__do_softirq kernel/softirq.c:613 [inline]
invoke_softirq kernel/softirq.c:453 [inline]
__irq_exit_rcu+0x66/0x180 kernel/softirq.c:680
irq_exit_rcu+0x12/0x20 kernel/softirq.c:696
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0x84/0x90 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1f/0x30 arch/x86/include/asm/idtentry.h:702

CPU: 0 UID: 0 PID: 6979 Comm: syz.0.35 Not tainted 6.15.0-rc3-syzkaller-00094-g02ddfb981de8-dirty #0 PREEMPT(undef)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/29/2025

Best regards,
I Hsin Cheng
Reply all
Reply to author
Forward
0 new messages