================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff888100a42cb8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0xd7/0x220 kernel/sched/core.c:5546 update_process_times+0x15f/0x190 kernel/time/timer.c:2479 tick_sched_handle kernel/time/tick-sched.c:298 [inline] tick_nohz_handler+0x276/0x3d0 kernel/time/tick-sched.c:319 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 __tsan_memset+0x4/0x1f0 kernel/kcsan/core.c:1328 xa_find+0x64/0x140 lib/xarray.c:2192 io_unregister_zcrx_ifqs+0x66/0x170 io_uring/zcrx.c:862 io_ring_ctx_free+0x3e/0x3d0 io_uring/io_uring.c:2848 io_ring_exit_work+0x4ef/0x520 io_uring/io_uring.c:3076 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3340 worker_thread+0x582/0x770 kernel/workqueue.c:3421 kthread+0x489/0x510 kernel/kthread.c:463 ret_from_fork+0x149/0x290 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 read-write to 0xffff888100a42cb8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0xd7/0x220 kernel/sched/core.c:5546 update_process_times+0x15f/0x190 kernel/time/timer.c:2479 tick_sched_handle kernel/time/tick-sched.c:298 [inline] tick_nohz_handler+0x276/0x3d0 kernel/time/tick-sched.c:319 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x32/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 is_atomic kernel/kcsan/core.c:249 [inline] should_watch kernel/kcsan/core.c:277 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_read8+0xe9/0x190 kernel/kcsan/core.c:1025 rcu_cblist_dequeue+0x39/0x70 kernel/rcu/rcu_segcblist.c:75 rcu_do_batch kernel/rcu/tree.c:2591 [inline] rcu_core+0x480/0xc40 kernel/rcu/tree.c:2857 rcu_core_si+0xd/0x20 kernel/rcu/tree.c:2874 handle_softirqs+0xba/0x290 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0x3a/0xc0 kernel/softirq.c:723 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0x74/0x80 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 kcsan_setup_watchpoint+0x406/0x420 kernel/kcsan/core.c:705 arch_atomic_try_cmpxchg arch/x86/include/asm/atomic.h:107 [inline] raw_atomic_try_cmpxchg_acquire include/linux/atomic/atomic-arch-fallback.h:2170 [inline] atomic_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:1302 [inline] queued_spin_lock include/asm-generic/qspinlock.h:111 [inline] do_raw_spin_lock include/linux/spinlock.h:187 [inline] __raw_spin_lock include/linux/spinlock_api_smp.h:134 [inline] _raw_spin_lock+0x52/0xa0 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] class_spinlock_constructor include/linux/spinlock.h:565 [inline] io_napi_free+0x27/0x170 io_uring/napi.c:258 io_ring_ctx_free+0x327/0x3d0 io_uring/io_uring.c:2879 io_ring_exit_work+0x4ef/0x520 io_uring/io_uring.c:3076 process_one_work kernel/workqueue.c:3257 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3340 worker_thread+0x582/0x770 kernel/workqueue.c:3421 kthread+0x489/0x510 kernel/kthread.c:463 ret_from_fork+0x149/0x290 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:246 value changed: 0x0000000000426030 -> 0x0000000000428740 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 8236 Comm: kworker/u8:24 Tainted: G W syzkaller #0 PREEMPT(voluntary) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Workqueue: iou_exit io_ring_exit_work ==================================================================