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
Fix commit: 9629d7d66c62 jfs: Fix uninit-value access of imap allocated in the diMount() function
Patched on: [ci-qemu-gce-upstream-auto ci-qemu-upstream ci-qemu-upstream-386 ci-qemu2-arm64 ci-qemu2-arm64-compat ci-qemu2-arm64-mte ci-snapshot-upstream-root ci-upstream-bpf-kasan-gce ci-upstream-bpf-next-kasan-gce ci-upstream-gce-arm64 ci-upstream-gce-leak ci-upstream-kasan-badwrites-root ci-upstream-kasan-gce ci-upstream-kasan-gce-386 ci-upstream-kasan-gce-root ci-upstream-kasan-gce-selinux-root ci-upstream-kasan-gce-smack-root ci-upstream-kmsan-gce-386-root ci-upstream-kmsan-gce-root ci-upstream-linux-next-kasan-gce-root ci-upstream-net-kasan-gce ci-upstream-net-this-kasan-gce ci2-upstream-fs ci2-upstream-kcsan-gce ci2-upstream-usb], missing on: [ci-qemu-native-arm64-kvm ci-qemu2-arm32 ci-qemu2-riscv64]
First crash: 56d, last: 55d
Discussions (9)
Title Replies (including bot) Last reply
[PATCH AUTOSEL 5.15 02/16] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:09
[PATCH AUTOSEL 6.1 03/18] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:08
[PATCH AUTOSEL 6.6 06/26] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:07
[PATCH AUTOSEL 6.12 17/47] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:05
[PATCH AUTOSEL 6.13 17/49] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:03
[PATCH AUTOSEL 6.14 19/54] jfs: Fix uninit-value access of imap allocated in the diMount() function 1 (1) 2025/04/03 19:01
[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 1368d 1660d 1/1 fixed on 2021/08/17 00:59
linux-4.14 general protection fault in diFree 1 1538d 1538d 0/1 auto-closed as invalid on 2021/05/28 19:31
linux-4.14 general protection fault in diFree (2) C 2 778d 1183d 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 667d 739d 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 1389d 1661d 20/28 fixed on 2021/11/10 00:50
linux-4.19 KASAN: use-after-free Read in diFree jfs C error 21 808d 1646d 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 244d 290d 3/3 fixed on 2024/09/19 18:24
linux-4.14 BUG: unable to handle kernel paging request in diFree C 5 786d 1665d 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 472d 1120d 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 247d 357d 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 566d 727d 3/3 fixed on 2023/10/30 11:46
linux-4.14 KASAN: use-after-free Read in diFree jfs C error 3 786d 1659d 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.