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

From: syzbot
Date: Wed Jan 01 2025 - 08:09:41 EST


syzbot has found a reproducer for the following issue on:

HEAD commit: ccb98ccef0e5 Merge tag 'platform-drivers-x86-v6.13-4' of g..
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=117aa8b0580000
kernel config: https://syzkaller.appspot.com/x/.config?x=31c2647cf06aa81e
dashboard link: https://syzkaller.appspot.com/bug?extid=7727bbb9b847a6d3d8de
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=146cdaf8580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15d83818580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/da86466e08c0/disk-ccb98cce.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/673316cfa30c/vmlinux-ccb98cce.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4d50a89ed2d4/bzImage-ccb98cce.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/5f0f60916397/mount_2.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+7727bbb9b847a6d3d8de@xxxxxxxxxxxxxxxxxxxxxxxxx

=====================================================
BUG: KMSAN: uninit-value in writepoint_find fs/bcachefs/alloc_foreground.c:1313 [inline]
BUG: KMSAN: uninit-value in bch2_alloc_sectors_start_trans+0x44a/0x32b0 fs/bcachefs/alloc_foreground.c:1413
writepoint_find fs/bcachefs/alloc_foreground.c:1313 [inline]
bch2_alloc_sectors_start_trans+0x44a/0x32b0 fs/bcachefs/alloc_foreground.c:1413
__bch2_write+0x7f8/0x8540 fs/bcachefs/io_write.c:1437
bch2_write+0xec0/0x1d10 fs/bcachefs/io_write.c:1631
closure_queue include/linux/closure.h:270 [inline]
closure_call include/linux/closure.h:432 [inline]
bch2_writepage_do_io fs/bcachefs/fs-io-buffered.c:449 [inline]
bch2_writepages+0x24a/0x3c0 fs/bcachefs/fs-io-buffered.c:641
do_writepages+0x427/0xc30 mm/page-writeback.c:2702
__writeback_single_inode+0x103/0x1290 fs/fs-writeback.c:1680
writeback_sb_inodes+0xa34/0x1c20 fs/fs-writeback.c:1976
__writeback_inodes_wb+0x14c/0x440 fs/fs-writeback.c:2047
wb_writeback+0x50b/0xcb0 fs/fs-writeback.c:2158
wb_check_background_flush fs/fs-writeback.c:2228 [inline]
wb_do_writeback fs/fs-writeback.c:2316 [inline]
wb_workfn+0x122c/0x1940 fs/fs-writeback.c:2343
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 stored to memory at:
bch2_writepage_io_alloc fs/bcachefs/fs-io-buffered.c:477 [inline]
__bch2_writepage+0x39d9/0x3f10 fs/bcachefs/fs-io-buffered.c:599
write_cache_pages+0xc9/0x280 mm/page-writeback.c:2659
bch2_writepages+0x11f/0x3c0 fs/bcachefs/fs-io-buffered.c:639
do_writepages+0x427/0xc30 mm/page-writeback.c:2702
__writeback_single_inode+0x103/0x1290 fs/fs-writeback.c:1680
writeback_sb_inodes+0xa34/0x1c20 fs/fs-writeback.c:1976
__writeback_inodes_wb+0x14c/0x440 fs/fs-writeback.c:2047
wb_writeback+0x50b/0xcb0 fs/fs-writeback.c:2158
wb_check_background_flush fs/fs-writeback.c:2228 [inline]
wb_do_writeback fs/fs-writeback.c:2316 [inline]
wb_workfn+0x122c/0x1940 fs/fs-writeback.c:2343
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:
slab_post_alloc_hook mm/slub.c:4125 [inline]
slab_alloc_node mm/slub.c:4168 [inline]
kmem_cache_alloc_lru_noprof+0x91c/0xe20 mm/slub.c:4187
__bch2_new_inode+0x98/0x450 fs/bcachefs/fs.c:401
bch2_new_inode fs/bcachefs/fs.c:427 [inline]
bch2_inode_hash_init_insert+0x7d/0x3a0 fs/bcachefs/fs.c:447
bch2_lookup_trans fs/bcachefs/fs.c:622 [inline]
bch2_lookup+0x1605/0x2360 fs/bcachefs/fs.c:659
lookup_open fs/namei.c:3627 [inline]
open_last_lookups fs/namei.c:3748 [inline]
path_openat+0x292f/0x6200 fs/namei.c:3984
do_filp_open+0x268/0x600 fs/namei.c:4014
do_sys_openat2+0x1bf/0x2f0 fs/open.c:1402
do_sys_open fs/open.c:1417 [inline]
__do_sys_openat fs/open.c:1433 [inline]
__se_sys_openat fs/open.c:1428 [inline]
__x64_sys_openat+0x2a1/0x310 fs/open.c:1428
x64_sys_call+0x36f5/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:258
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: 0 UID: 0 PID: 13 Comm: kworker/u8:1 Not tainted 6.13.0-rc5-syzkaller-00004-gccb98ccef0e5 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Workqueue: writeback wb_workfn (flush-bcachefs-1)
=====================================================


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