================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881010a04b8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1480 sched_tick+0x11a/0x270 kernel/sched/core.c:5616 update_process_times+0x15f/0x190 kernel/time/timer.c:2478 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x249/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20c/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:1041 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1058 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1052 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 memset_orig+0x75/0xb0 arch/x86/lib/memset_64.S:91 bpf_send_signal_common+0x3c/0x300 kernel/trace/bpf_trace.c:820 ____bpf_send_signal kernel/trace/bpf_trace.c:880 [inline] bpf_send_signal+0x1d/0x30 kernel/trace/bpf_trace.c:878 bpf_prog_8f9dbacca2d17414+0x2c/0x5b bpf_dispatcher_nop_func include/linux/bpf.h:1350 [inline] __bpf_prog_run include/linux/filter.h:721 [inline] bpf_prog_run include/linux/filter.h:728 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2075 [inline] bpf_trace_run2+0x107/0x1c0 kernel/trace/bpf_trace.c:2116 __traceiter_kfree+0x2e/0x50 include/trace/events/kmem.h:97 __do_trace_kfree include/trace/events/kmem.h:97 [inline] trace_kfree include/trace/events/kmem.h:97 [inline] kfree+0x351/0x400 mm/slub.c:6760 io_alloc_cache_free+0xc0/0xe0 io_uring/alloc_cache.c:16 io_rsrc_cache_free+0x36/0x40 io_uring/rsrc.c:184 io_free_alloc_caches+0x65/0x70 io_uring/io_uring.c:314 io_ring_ctx_free+0x78/0x3a0 io_uring/io_uring.c:2849 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:3086 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3346 worker_thread+0x582/0x770 kernel/workqueue.c:3427 kthread+0x486/0x510 kernel/kthread.c:463 ret_from_fork+0x122/0x1b0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff8881010a04b8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1480 sched_tick+0x11a/0x270 kernel/sched/core.c:5616 update_process_times+0x15f/0x190 kernel/time/timer.c:2478 tick_sched_handle kernel/time/tick-sched.c:276 [inline] tick_nohz_handler+0x249/0x2d0 kernel/time/tick-sched.c:297 __run_hrtimer kernel/time/hrtimer.c:1777 [inline] __hrtimer_run_queues+0x20c/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:1041 [inline] __sysvec_apic_timer_interrupt+0x5f/0x1d0 arch/x86/kernel/apic/apic.c:1058 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1052 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1052 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 should_watch kernel/kcsan/core.c:280 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_read_write8+0x14d/0x190 kernel/kcsan/core.c:1025 perf_callchain_store include/linux/perf_event.h:1751 [inline] perf_callchain_kernel+0x29c/0x330 arch/x86/events/core.c:2802 get_perf_callchain+0x2ac/0x530 kernel/events/callchain.c:244 ____bpf_get_stackid kernel/bpf/stackmap.c:317 [inline] bpf_get_stackid+0xce/0x120 kernel/bpf/stackmap.c:300 ____bpf_get_stackid_raw_tp kernel/trace/bpf_trace.c:1628 [inline] bpf_get_stackid_raw_tp+0xf6/0x120 kernel/trace/bpf_trace.c:1617 bpf_prog_ae3bc260cbdd1f03+0x2a/0x32 bpf_dispatcher_nop_func include/linux/bpf.h:1350 [inline] __bpf_prog_run include/linux/filter.h:721 [inline] bpf_prog_run include/linux/filter.h:728 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2075 [inline] bpf_trace_run2+0x107/0x1c0 kernel/trace/bpf_trace.c:2116 __traceiter_kfree+0x2e/0x50 include/trace/events/kmem.h:97 __do_trace_kfree include/trace/events/kmem.h:97 [inline] trace_kfree include/trace/events/kmem.h:97 [inline] kfree+0x351/0x400 mm/slub.c:6760 io_alloc_cache_free+0xc0/0xe0 io_uring/alloc_cache.c:16 io_free_alloc_caches+0x42/0x70 io_uring/io_uring.c:311 io_ring_ctx_free+0x78/0x3a0 io_uring/io_uring.c:2849 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:3086 process_one_work kernel/workqueue.c:3263 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3346 worker_thread+0x582/0x770 kernel/workqueue.c:3427 kthread+0x486/0x510 kernel/kthread.c:463 ret_from_fork+0x122/0x1b0 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x000000000015aae0 -> 0x000000000015d1f0 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 169 Comm: kworker/u8:6 Not tainted syzkaller #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025 Workqueue: iou_exit io_ring_exit_work ==================================================================