syzbot


KMSAN: uninit-value in diFree

Status: upstream: reported C repro on 2025/02/19 12:37
Subsystems: jfs
[Documentation on labels]
Reported-by: syzbot+df6cdcb35904203d2b6d@syzkaller.appspotmail.com
First crash: 1d21h, last: 1d17h
Discussions (3)
Title Replies (including bot) Last reply
[PATCH] jfs: set diskblock and maxag to zero when creating imap 4 (4) 2025/02/20 15:45
[syzbot] [jfs?] KMSAN: uninit-value in diFree 2 (5) 2025/02/19 23:58
[PATCH] jfs: Fix uninit-value access of imap allocated in the diMount() function 2 (2) 2025/02/19 22:52
Similar bugs (12)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: unable to handle kernel paging request in diFree C done 18 1314d 1606d 1/1 fixed on 2021/08/17 00:59
linux-4.14 general protection fault in diFree 1 1484d 1484d 0/1 auto-closed as invalid on 2021/05/28 19:31
linux-4.14 general protection fault in diFree (2) C 2 724d 1129d 0/1 upstream: reported C repro on 2022/01/18 19:31
linux-5.15 KASAN: use-after-free Read in diFree C error 5 613d 684d 0/3 auto-obsoleted due to no activity on 2023/10/07 20:25
upstream BUG: unable to handle kernel paging request in diFree jfs C done 13 1335d 1606d 20/28 fixed on 2021/11/10 00:50
linux-4.19 KASAN: use-after-free Read in diFree jfs C error 21 754d 1592d 0/1 upstream: reported C repro on 2020/10/13 01:51
linux-5.15 UBSAN: array-index-out-of-bounds in diFree origin:upstream missing-backport C done 13 189d 235d 3/3 fixed on 2024/09/19 18:24
linux-4.14 BUG: unable to handle kernel paging request in diFree C 5 732d 1611d 0/1 upstream: reported C repro on 2020/09/23 16:53
upstream KASAN: use-after-free Read in diFree jfs C inconclusive unreliable 110 418d 1066d 0/28 auto-obsoleted due to no activity on 2024/03/22 04:27
upstream UBSAN: array-index-out-of-bounds in diFree jfs C inconclusive 226 192d 303d 27/28 fixed on 2024/08/14 03:44
linux-6.1 KASAN: use-after-free Read in diFree origin:lts-only C done 7 512d 672d 3/3 fixed on 2023/10/30 11:46
linux-4.14 KASAN: use-after-free Read in diFree jfs C error 3 732d 1605d 0/1 upstream: reported C repro on 2020/09/30 00:31
Last patch testing requests (2)
Created Duration User Patch Repo Result
2025/02/19 23:13 32m eadavis@qq.com patch upstream OK log
2025/02/19 13:48 1h13m eadavis@qq.com patch upstream report log

Sample crash report:
ERROR: (device loop0): diUpdatePMap: the iag is outside the map
ERROR: (device loop0): remounting filesystem as read-only
=====================================================
BUG: KMSAN: uninit-value in hex_dump_to_buffer+0x888/0x1100 lib/hexdump.c:171
 hex_dump_to_buffer+0x888/0x1100 lib/hexdump.c:171
 print_hex_dump+0x13d/0x3e0 lib/hexdump.c:276
 diFree+0x5ba/0x4350 fs/jfs/jfs_imap.c:876
 jfs_evict_inode+0x510/0x550 fs/jfs/inode.c:156
 evict+0x723/0xd10 fs/inode.c:796
 iput_final fs/inode.c:1946 [inline]
 iput+0x97b/0xdb0 fs/inode.c:1972
 txUpdateMap+0xf3e/0x1150 fs/jfs/jfs_txnmgr.c:2367
 txLazyCommit fs/jfs/jfs_txnmgr.c:2664 [inline]
 jfs_lazycommit+0x627/0x11d0 fs/jfs/jfs_txnmgr.c:2733
 kthread+0x6b9/0xef0 kernel/kthread.c:464
 ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

Uninit was created at:
 slab_post_alloc_hook mm/slub.c:4121 [inline]
 slab_alloc_node mm/slub.c:4164 [inline]
 __kmalloc_cache_noprof+0x8e3/0xdf0 mm/slub.c:4320
 kmalloc_noprof include/linux/slab.h:901 [inline]
 diMount+0x61/0x7f0 fs/jfs/jfs_imap.c:105
 jfs_mount+0xa8e/0x11d0 fs/jfs/jfs_mount.c:176
 jfs_fill_super+0xa47/0x17c0 fs/jfs/super.c:523
 get_tree_bdev_flags+0x6ec/0x910 fs/super.c:1636
 get_tree_bdev+0x37/0x50 fs/super.c:1659
 jfs_get_tree+0x34/0x40 fs/jfs/super.c:635
 vfs_get_tree+0xb1/0x5a0 fs/super.c:1814
 do_new_mount+0x71f/0x15e0 fs/namespace.c:3560
 path_mount+0x742/0x1f10 fs/namespace.c:3887
 do_mount fs/namespace.c:3900 [inline]
 __do_sys_mount fs/namespace.c:4111 [inline]
 __se_sys_mount+0x71f/0x800 fs/namespace.c:4088
 __x64_sys_mount+0xe4/0x150 fs/namespace.c:4088
 x64_sys_call+0x39bf/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:166
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

CPU: 1 UID: 0 PID: 113 Comm: jfsCommit Not tainted 6.14.0-rc3-syzkaller-00060-g6537cfb395f3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
=====================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/19 12:01 upstream 6537cfb395f3 9a14138f .config strace log report syz / log C [disk image] [vmlinux] [kernel image] [mounted in repro (corrupt fs)] ci-upstream-kmsan-gce-root KMSAN: uninit-value in diFree
2025/02/19 08:07 upstream 6537cfb395f3 9a14138f .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kmsan-gce-root KMSAN: uninit-value in diFree
* Struck through repros no longer work on HEAD.