syzbot


KCSAN: data-race in can_receive / can_stat_update (12)

Status: moderation: reported on 2025/03/09 10:41
Subsystems: can
[Documentation on labels]
Reported-by: syzbot+be0fffb1410569be5bb1@syzkaller.appspotmail.com
First crash: 120d, last: 44d
Similar bugs (11)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in can_receive / can_stat_update (4) can 2 1012d 1025d 0/28 auto-closed as invalid on 2022/08/22 20:20
upstream KCSAN: data-race in can_receive / can_stat_update (2) can 1 1488d 1488d 0/28 auto-closed as invalid on 2021/05/04 12:50
upstream KCSAN: data-race in can_receive / can_stat_update (3) can 5 1066d 1140d 0/28 auto-closed as invalid on 2022/06/29 13:32
upstream KCSAN: data-race in can_receive / can_stat_update (11) can 1 234d 234d 0/28 auto-obsoleted due to no activity on 2024/10/09 05:23
upstream KCSAN: data-race in can_receive / can_stat_update (9) can 2 386d 395d 0/28 auto-obsoleted due to no activity on 2024/05/09 16:43
upstream KCSAN: data-race in can_receive / can_stat_update (10) can 6 287d 317d 0/28 auto-obsoleted due to no activity on 2024/08/17 04:05
upstream KCSAN: data-race in can_receive / can_stat_update (7) can 2 746d 765d 0/28 auto-obsoleted due to no activity on 2023/05/15 22:30
upstream KCSAN: data-race in can_receive / can_stat_update can 3 1913d 1936d 0/28 auto-closed as invalid on 2020/04/09 06:18
upstream KCSAN: data-race in can_receive / can_stat_update (6) can 1 817d 817d 0/28 auto-obsoleted due to no activity on 2023/03/13 11:08
upstream KCSAN: data-race in can_receive / can_stat_update (8) can 2 695d 709d 0/28 auto-obsoleted due to no activity on 2023/07/05 18:24
upstream KCSAN: data-race in can_receive / can_stat_update (5) can 1 967d 967d 0/28 auto-closed as invalid on 2022/10/06 14:19

Sample crash report:
==================================================================
BUG: KCSAN: data-race in can_receive / can_stat_update

read-write to 0xffff8881188e7ae8 of 8 bytes by interrupt on cpu 0:
 can_receive+0x62/0x1f0 net/can/af_can.c:651
 canfd_rcv+0xe7/0x180 net/can/af_can.c:703
 __netif_receive_skb_one_core net/core/dev.c:5893 [inline]
 __netif_receive_skb+0x123/0x280 net/core/dev.c:6006
 process_backlog+0x22e/0x440 net/core/dev.c:6354
 __napi_poll+0x63/0x3c0 net/core/dev.c:7188
 napi_poll net/core/dev.c:7257 [inline]
 net_rx_action+0x3a1/0x7f0 net/core/dev.c:7379
 handle_softirqs+0xbf/0x280 kernel/softirq.c:561
 run_ksoftirqd+0x1c/0x30 kernel/softirq.c:950
 smpboot_thread_fn+0x31c/0x4c0 kernel/smpboot.c:164
 kthread+0x4ae/0x520 kernel/kthread.c:464
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:148
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

read to 0xffff8881188e7ae8 of 8 bytes by interrupt on cpu 1:
 can_stat_update+0x58d/0x7f0 net/can/proc.c:152
 call_timer_fn+0x3a/0x300 kernel/time/timer.c:1789
 expire_timers kernel/time/timer.c:1840 [inline]
 __run_timers kernel/time/timer.c:2414 [inline]
 __run_timer_base+0x417/0x640 kernel/time/timer.c:2426
 run_timer_base kernel/time/timer.c:2435 [inline]
 run_timer_softirq+0x31/0x70 kernel/time/timer.c:2445
 handle_softirqs+0xbf/0x280 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:662
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 decode_watchpoint kernel/kcsan/encoding.h:74 [inline]
 find_watchpoint kernel/kcsan/core.c:132 [inline]
 check_access kernel/kcsan/core.c:737 [inline]
 __tsan_read8+0x31/0x180 kernel/kcsan/core.c:1025
 current_obj_cgroup mm/memcontrol.c:2540 [inline]
 __memcg_kmem_charge_page+0x53/0x170 mm/memcontrol.c:2661
 __alloc_frozen_pages_noprof+0x1bc/0x340 mm/page_alloc.c:4757
 __alloc_pages_noprof+0x9/0x20 mm/page_alloc.c:4774
 __alloc_pages_node_noprof include/linux/gfp.h:265 [inline]
 alloc_pages_node_noprof include/linux/gfp.h:292 [inline]
 bpf_ringbuf_area_alloc kernel/bpf/ringbuf.c:124 [inline]
 bpf_ringbuf_alloc+0xba/0x2f0 kernel/bpf/ringbuf.c:172
 ringbuf_map_alloc+0x16b/0x1d0 kernel/bpf/ringbuf.c:207
 map_create+0x850/0xb70 kernel/bpf/syscall.c:1455
 __sys_bpf+0x667/0x7a0 kernel/bpf/syscall.c:5777
 __do_sys_bpf kernel/bpf/syscall.c:5902 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5900 [inline]
 __x64_sys_bpf+0x43/0x50 kernel/bpf/syscall.c:5900
 x64_sys_call+0x2914/0x2dc0 arch/x86/include/generated/asm/syscalls_64.h:322
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x000000000001a947 -> 0x000000000001a948

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 11822 Comm: syz.1.18458 Tainted: G        W          6.14.0-rc6-syzkaller-00016-g0fed89a961ea #0
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================

Crashes (11):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/03/12 13:46 upstream 0fed89a961ea ee70e6db .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/02/14 13:10 upstream 68763b29e0a6 d9a046cf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/30 02:57 upstream ebbb8be421ee afe4eff5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/18 13:32 upstream 595523945be0 f2cb035c .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/13 11:32 upstream 5bc55a333a2f 249ceea9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/09 09:10 upstream eea6e4b4dfb8 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/07 22:26 upstream fbfd64d25c7a f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/04 12:59 upstream 63676eefb7a0 f3558dbf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2025/01/01 05:04 upstream ccb98ccef0e5 d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2024/12/28 09:35 upstream fd0584d220fe d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
2024/12/26 18:50 upstream 9b2ffa6148b1 d3ccff63 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in can_receive / can_stat_update
* Struck through repros no longer work on HEAD.