Re: [syzbot] [bluetooth?] KMSAN: uninit-value in hci_cmd_complete_evt

syzbot
2025-02-24T07:19:24Z

syzbot has found a reproducer for the following issue on:

HEAD commit: d082ecbc71e9 Linux 6.14-rc4
git tree: upstream
console+strace: https://syzkaller.appspot.com/x/log.txt?x=13492db0580000
kernel config: https://syzkaller.appspot.com/x/.config?x=d66f6f82ee090382
dashboard link: https://syzkaller.appspot.com/bug?extid=a9a4bedfca6aa9d7fa24
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=122c37f8580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10023fdf980000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/a9f22e75faf0/disk-d082ecbc.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/336a72a11410/vmlinux-d082ecbc.xz
kernel image: https://storage.googleapis.com/syzbot-assets/7180e4935c41/bzImage-d082ecbc.xz

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

=====================================================
BUG: KMSAN: uninit-value in hci_cmd_complete_evt+0xd7b/0xeb0 net/bluetooth/hci_event.c:4226
hci_cmd_complete_evt+0xd7b/0xeb0 net/bluetooth/hci_event.c:4226
hci_event_func net/bluetooth/hci_event.c:7470 [inline]
hci_event_packet+0x11c8/0x1ca0 net/bluetooth/hci_event.c:7525
hci_rx_work+0x699/0x1260 net/bluetooth/hci_core.c:4015
process_one_work kernel/workqueue.c:3236 [inline]
process_scheduled_works+0xc1a/0x1e80 kernel/workqueue.c:3317
worker_thread+0xea7/0x14f0 kernel/workqueue.c:3398
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 stored to memory at:
hci_cmd_complete_evt+0xaf4/0xeb0
hci_event_func net/bluetooth/hci_event.c:7470 [inline]
hci_event_packet+0x11c8/0x1ca0 net/bluetooth/hci_event.c:7525
hci_rx_work+0x699/0x1260 net/bluetooth/hci_core.c:4015
process_one_work kernel/workqueue.c:3236 [inline]
process_scheduled_works+0xc1a/0x1e80 kernel/workqueue.c:3317
worker_thread+0xea7/0x14f0 kernel/workqueue.c:3398
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]
kmem_cache_alloc_node_noprof+0x907/0xe00 mm/slub.c:4216
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:515
__alloc_skb+0x363/0x7b0 net/core/skbuff.c:606
alloc_skb include/linux/skbuff.h:1331 [inline]
bt_skb_alloc include/net/bluetooth/bluetooth.h:495 [inline]
vhci_get_user drivers/bluetooth/hci_vhci.c:487 [inline]
vhci_write+0x127/0x900 drivers/bluetooth/hci_vhci.c:607
new_sync_write fs/read_write.c:586 [inline]
vfs_write+0xb34/0x1540 fs/read_write.c:679
ksys_write+0x240/0x4b0 fs/read_write.c:731
__do_sys_write fs/read_write.c:742 [inline]
__se_sys_write fs/read_write.c:739 [inline]
__x64_sys_write+0x93/0xe0 fs/read_write.c:739
x64_sys_call+0x3161/0x3c30 arch/x86/include/generated/asm/syscalls_64.h:2
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: 5777 Comm: kworker/u9:2 Not tainted 6.14.0-rc4-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
Workqueue: hci0 hci_rx_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.