KCSAN: data-race in bcm_rx_setup / bcm_rx_update_and_send
syzbot
syzbotHello,
syzbot found the following issue on:
HEAD commit: 24d479d26b25 Linux 6.19-rc6 git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=153a9b9a580000 kernel config: https://syzkaller.appspot.com/x/.config?x=676c6f0212d0c041 dashboard link: https://syzkaller.appspot.com/bug?extid=75e5e4ae00c3b4bb544e compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e47d2b960e97/disk-24d479d2.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/75c59e1fc76a/vmlinux-24d479d2.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e42579adf478/bzImage-24d479d2.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
UDPLite6: UDP-Lite is deprecated and scheduled to be removed in 2025, please contact the netdev mailing list
==================================================================
BUG: KCSAN: data-race in bcm_rx_setup / bcm_rx_update_and_send
read to 0xffff88811adccc40 of 16 bytes by interrupt on cpu 1:
bcm_rx_changed net/can/bcm.c:500 [inline] bcm_rx_update_and_send+0x37f/0x420 net/can/bcm.c:553 bcm_rx_handler+0x2b0/0x580 net/can/bcm.c:739 deliver net/can/af_can.c:575 [inline] can_rcv_filter+0x3c6/0x4f0 net/can/af_can.c:636 can_receive+0xfb/0x1c0 net/can/af_can.c:662 canfd_rcv+0xed/0x190 net/can/af_can.c:705 __netif_receive_skb_one_core net/core/dev.c:6152 [inline] __netif_receive_skb+0x120/0x270 net/core/dev.c:6265 process_backlog+0x228/0x420 net/core/dev.c:6617 __napi_poll+0x5f/0x300 net/core/dev.c:7681 napi_poll net/core/dev.c:7744 [inline] net_rx_action+0x452/0x930 net/core/dev.c:7896 handle_softirqs+0xb9/0x280 kernel/softirq.c:622 run_ksoftirqd+0x1c/0x30 kernel/softirq.c:1063 smpboot_thread_fn+0x32a/0x510 kernel/smpboot.c:160 kthread+0x488/0x510 kernel/kthread.c:463 ret_from_fork+0x148/0x280 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246
write to 0xffff88811adccc40 of 16 bytes by task 3847 on cpu 0:
bcm_rx_setup+0x7c5/0xe00 net/can/bcm.c:1259 bcm_sendmsg+0x1bb/0x4a0 net/can/bcm.c:1427 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg+0x145/0x170 net/socket.c:742 ____sys_sendmsg+0x31e/0x4a0 net/socket.c:2592 ___sys_sendmsg+0x195/0x1e0 net/socket.c:2646 __sys_sendmsg net/socket.c:2678 [inline] __do_sys_sendmsg net/socket.c:2683 [inline] __se_sys_sendmsg net/socket.c:2681 [inline] __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2681 x64_sys_call+0x17ba/0x3000 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xc0/0x2a0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 3847 Comm: syz.0.79 Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 ==================================================================
---
This report is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at [email protected].
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup