Re: [syzbot] [bcachefs?] KMSAN: uninit-value in bch2_bucket_alloc_early

syzbot
2024-11-26T01:38:32Z

syzbot has found a reproducer for the following issue on:

HEAD commit: 9f16d5e6f220 Merge tag 'for-linus' of git://git.kernel.org..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=13600f5f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=ce1e2eda2213557
dashboard link: https://syzkaller.appspot.com/bug?extid=07d7911319bd613ba885
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=148215c0580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17600f5f980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2fcdec73c0f3/disk-9f16d5e6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/d4dc8d1847e1/vmlinux-9f16d5e6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/db0e04822d2c/bzImage-9f16d5e6.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/e5d1dbb2ef68/mount_0.gz

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

=====================================================
BUG: KMSAN: uninit-value in bch2_alloc_to_v4 fs/bcachefs/alloc_background.h:235 [inline]
BUG: KMSAN: uninit-value in bch2_bucket_alloc_early+0x11c0/0x2520 fs/bcachefs/alloc_foreground.c:439
bch2_alloc_to_v4 fs/bcachefs/alloc_background.h:235 [inline]
bch2_bucket_alloc_early+0x11c0/0x2520 fs/bcachefs/alloc_foreground.c:439
bch2_bucket_alloc_trans+0x8e6/0x3fb0 fs/bcachefs/alloc_foreground.c:649
bch2_bucket_alloc_set_trans+0x959/0x1650 fs/bcachefs/alloc_foreground.c:808
__open_bucket_add_buckets+0x1dec/0x3070 fs/bcachefs/alloc_foreground.c:1057
open_bucket_add_buckets+0x328/0x530 fs/bcachefs/alloc_foreground.c:1101
bch2_alloc_sectors_start_trans+0x1833/0x32b0
__bch2_btree_node_alloc fs/bcachefs/btree_update_interior.c:339 [inline]
bch2_btree_reserve_get+0x9d6/0x2290 fs/bcachefs/btree_update_interior.c:549
bch2_btree_update_start+0x1af9/0x2d60 fs/bcachefs/btree_update_interior.c:1247
bch2_btree_split_leaf+0x120/0xc00 fs/bcachefs/btree_update_interior.c:1856
bch2_trans_commit_error+0x1c0/0x1d60 fs/bcachefs/btree_trans_commit.c:942
__bch2_trans_commit+0x210f/0xd190 fs/bcachefs/btree_trans_commit.c:1140
bch2_trans_commit fs/bcachefs/btree_update.h:184 [inline]
btree_update_nodes_written fs/bcachefs/btree_update_interior.c:723 [inline]
btree_interior_update_work+0x2080/0x4870 fs/bcachefs/btree_update_interior.c:861
process_one_work kernel/workqueue.c:3229 [inline]
process_scheduled_works+0xae0/0x1c40 kernel/workqueue.c:3310
worker_thread+0xea7/0x14f0 kernel/workqueue.c:3391
kthread+0x3e2/0x540 kernel/kthread.c:389
ret_from_fork+0x6d/0x90 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

Uninit was created at:
___kmalloc_large_node+0x22c/0x370 mm/slub.c:4219
__kmalloc_large_node_noprof+0x3f/0x1e0 mm/slub.c:4236
__do_kmalloc_node mm/slub.c:4252 [inline]
__kmalloc_node_noprof+0x9d6/0xf50 mm/slub.c:4270
__kvmalloc_node_noprof+0xc0/0x2d0 mm/util.c:658
btree_node_data_alloc fs/bcachefs/btree_cache.c:153 [inline]
bch2_btree_node_mem_alloc+0xa72/0x2ee0 fs/bcachefs/btree_cache.c:832
__bch2_btree_node_alloc fs/bcachefs/btree_update_interior.c:321 [inline]
bch2_btree_reserve_get+0x37f/0x2290 fs/bcachefs/btree_update_interior.c:549
bch2_btree_update_start+0x1af9/0x2d60 fs/bcachefs/btree_update_interior.c:1247
bch2_btree_split_leaf+0x120/0xc00 fs/bcachefs/btree_update_interior.c:1856
bch2_trans_commit_error+0x1c0/0x1d60 fs/bcachefs/btree_trans_commit.c:942
__bch2_trans_commit+0x210f/0xd190 fs/bcachefs/btree_trans_commit.c:1140
bch2_trans_commit fs/bcachefs/btree_update.h:184 [inline]
bch2_journal_replay+0x2e3d/0x4d30 fs/bcachefs/recovery.c:317
bch2_run_recovery_pass fs/bcachefs/recovery_passes.c:191 [inline]
bch2_run_recovery_passes+0xaf9/0xf80 fs/bcachefs/recovery_passes.c:244
bch2_fs_recovery+0x447b/0x5b00 fs/bcachefs/recovery.c:861
bch2_fs_start+0x7b2/0xbd0 fs/bcachefs/super.c:1037
bch2_fs_get_tree+0x13ea/0x22d0 fs/bcachefs/fs.c:2170
vfs_get_tree+0xb1/0x5a0 fs/super.c:1814
do_new_mount+0x71f/0x15e0 fs/namespace.c:3507
path_mount+0x742/0x1f10 fs/namespace.c:3834
do_mount fs/namespace.c:3847 [inline]
__do_sys_mount fs/namespace.c:4057 [inline]
__se_sys_mount+0x722/0x810 fs/namespace.c:4034
__x64_sys_mount+0xe4/0x150 fs/namespace.c:4034
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: 3546 Comm: kworker/u8:9 Not tainted 6.12.0-syzkaller-09073-g9f16d5e6f220 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Workqueue: btree_update btree_interior_update_work
=====================================================

---
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.