KCSAN: data-race in advance_sched / netdev_set_num_tc

Status: auto-obsoleted due to no activity on 2026/08/04 02:32
Subsystems: net
Labels: race:benign prio:low
[Documentation on labels]
First crash: 63d, last: 63d
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
c3164096 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ✅ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in advance_sched / netdev_set_num_tc 2026/06/10 06:05 2026/06/10 06:05 2026/06/10 06:10 34dab4be
22c80790 assessment-kcsan Benign: ✅ KCSAN: data-race in advance_sched / netdev_set_num_tc 2026/06/09 13:21 2026/06/09 13:21 2026/06/09 13:58 c36c07f6

Sample crash report:
==================================================================
BUG: KCSAN: data-race in advance_sched / netdev_set_num_tc

write to 0xffff88811b15f036 of 2 bytes by task 9041 on cpu 0:
 netdev_set_num_tc+0x1b9/0x1e0 net/core/dev.c:3116
 mqprio_init+0x6a1/0xc30 net/sched/sch_mqprio.c:417
 qdisc_create+0x582/0x9d0 net/sched/sch_api.c:1319
 __tc_modify_qdisc net/sched/sch_api.c:1753 [inline]
 tc_modify_qdisc+0xffc/0x14f0 net/sched/sch_api.c:1817
 rtnetlink_rcv_msg+0x6a7/0x720 net/core/rtnetlink.c:7006
 netlink_rcv_skb+0x123/0x220 net/netlink/af_netlink.c:2555
 rtnetlink_rcv+0x1c/0x30 net/core/rtnetlink.c:7024
 netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
 netlink_unicast+0x5a8/0x680 net/netlink/af_netlink.c:1344
 netlink_sendmsg+0x5c8/0x6f0 net/netlink/af_netlink.c:1899
 sock_sendmsg_nosec net/socket.c:787 [inline]
 __sock_sendmsg net/socket.c:802 [inline]
 ____sys_sendmsg+0x563/0x5b0 net/socket.c:2698
 ___sys_sendmsg+0x195/0x1e0 net/socket.c:2752
 __sys_sendmsg net/socket.c:2784 [inline]
 __do_sys_sendmsg net/socket.c:2789 [inline]
 __se_sys_sendmsg net/socket.c:2787 [inline]
 __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2787
 x64_sys_call+0x194c/0x3020 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88811b15f036 of 2 bytes by interrupt on cpu 1:
 netdev_get_num_tc include/linux/netdevice.h:2653 [inline]
 taprio_set_budgets net/sched/sch_taprio.c:667 [inline]
 advance_sched+0x53f/0x6d0 net/sched/sch_taprio.c:984
 __run_hrtimer kernel/time/hrtimer.c:1930 [inline]
 __hrtimer_run_queues+0x276/0x4f0 kernel/time/hrtimer.c:1994
 hrtimer_interrupt+0x261/0x850 kernel/time/hrtimer.c:2113
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline]
 __sysvec_apic_timer_interrupt+0x5f/0x1c0 arch/x86/kernel/apic/apic.c:1067
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1061 [inline]
 sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1061
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697
 get_current arch/x86/include/asm/current.h:25 [inline]
 get_ctx kernel/kcsan/core.c:206 [inline]
 check_access kernel/kcsan/core.c:750 [inline]
 __tsan_read2+0xdf/0x190 kernel/kcsan/core.c:1023
 avtab_node_cmp security/selinux/ss/avtab.c:70 [inline]
 avtab_search_node+0x162/0x2b0 security/selinux/ss/avtab.c:156
 context_struct_compute_av+0x343/0xaf0 security/selinux/ss/services.c:664
 security_compute_av+0x34f/0xa20 security/selinux/ss/services.c:1177
 avc_compute_av+0x5d/0x430 security/selinux/avc.c:992
 avc_perm_nonode+0x5e/0xe0 security/selinux/avc.c:1117
 avc_has_perm_noaudit+0xf2/0x130 security/selinux/avc.c:1160
 cred_has_capability security/selinux/hooks.c:1666 [inline]
 selinux_vm_enough_memory+0x9d/0xc0 security/selinux/hooks.c:2263
 security_vm_enough_memory_mm+0xde/0x130 security/security.c:748
 shmem_acct_blocks mm/shmem.c:211 [inline]
 shmem_inode_acct_blocks+0x8a/0x230 mm/shmem.c:227
 shmem_alloc_and_add_folio mm/shmem.c:2005 [inline]
 shmem_get_folio_gfp+0x5b2/0xd60 mm/shmem.c:2564
 shmem_get_folio mm/shmem.c:2670 [inline]
 shmem_write_begin+0xfc/0x1f0 mm/shmem.c:3303
 generic_perform_write+0x183/0x490 mm/filemap.c:4325
 shmem_file_write_iter+0xc5/0xf0 mm/shmem.c:3478
 new_sync_write fs/read_write.c:595 [inline]
 vfs_write+0x5a6/0x9f0 fs/read_write.c:688
 ksys_write+0xdc/0x1a0 fs/read_write.c:740
 __do_sys_write fs/read_write.c:751 [inline]
 __se_sys_write fs/read_write.c:748 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:748
 x64_sys_call+0x27e1/0x3020 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000 -> 0x0001

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3288 Comm: udevd Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/06/09 01:56 upstream 2d3090a8aeb5 656e94c6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in advance_sched / netdev_set_num_tc
* Struck through repros no longer work on HEAD.