================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881012306b8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0x11a/0x270 kernel/sched/core.c:5692 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:1761 [inline] __hrtimer_run_queues+0x20c/0x5a0 kernel/time/hrtimer.c:1825 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1887 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1056 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 do_strncpy_from_user lib/strncpy_from_user.c:72 [inline] strncpy_from_user+0x1ef/0x230 lib/strncpy_from_user.c:130 strncpy_from_user_nofault+0x68/0xf0 mm/maccess.c:193 bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:215 [inline] ____bpf_probe_read_user_str kernel/trace/bpf_trace.c:224 [inline] bpf_probe_read_user_str+0x2a/0x70 kernel/trace/bpf_trace.c:221 bpf_prog_bc7c5c6b9645592f+0x3e/0x44 bpf_dispatcher_nop_func include/linux/bpf.h:1322 [inline] __bpf_prog_run include/linux/filter.h:718 [inline] bpf_prog_run include/linux/filter.h:725 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2258 [inline] bpf_trace_run2+0x107/0x1c0 kernel/trace/bpf_trace.c:2299 __traceiter_kfree+0x2b/0x50 include/trace/events/kmem.h:94 __do_trace_kfree include/trace/events/kmem.h:94 [inline] trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x27b/0x320 mm/slub.c:4829 io_free_region+0xa3/0x160 io_uring/memmap.c:104 io_rings_free io_uring/io_uring.c:2659 [inline] io_ring_ctx_free+0x1d0/0x390 io_uring/io_uring.c:2749 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:2971 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3321 worker_thread+0x582/0x770 kernel/workqueue.c:3402 kthread+0x489/0x510 kernel/kthread.c:464 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff8881012306b8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1474 sched_tick+0x11a/0x270 kernel/sched/core.c:5692 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:1761 [inline] __hrtimer_run_queues+0x20c/0x5a0 kernel/time/hrtimer.c:1825 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1887 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1039 [inline] __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1056 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1050 [inline] sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1050 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 __sanitizer_cov_trace_const_cmp8+0x8/0x90 kernel/kcov.c:322 do_strncpy_from_user lib/strncpy_from_user.c:37 [inline] strncpy_from_user+0x7b/0x230 lib/strncpy_from_user.c:130 strncpy_from_user_nofault+0x68/0xf0 mm/maccess.c:193 bpf_probe_read_user_str_common kernel/trace/bpf_trace.c:215 [inline] ____bpf_probe_read_user_str kernel/trace/bpf_trace.c:224 [inline] bpf_probe_read_user_str+0x2a/0x70 kernel/trace/bpf_trace.c:221 bpf_prog_bc7c5c6b9645592f+0x3e/0x44 bpf_dispatcher_nop_func include/linux/bpf.h:1322 [inline] __bpf_prog_run include/linux/filter.h:718 [inline] bpf_prog_run include/linux/filter.h:725 [inline] __bpf_trace_run kernel/trace/bpf_trace.c:2258 [inline] bpf_trace_run2+0x107/0x1c0 kernel/trace/bpf_trace.c:2299 __traceiter_kfree+0x2b/0x50 include/trace/events/kmem.h:94 __do_trace_kfree include/trace/events/kmem.h:94 [inline] trace_kfree include/trace/events/kmem.h:94 [inline] kfree+0x27b/0x320 mm/slub.c:4829 io_free_region+0xa3/0x160 io_uring/memmap.c:104 io_rings_free io_uring/io_uring.c:2659 [inline] io_ring_ctx_free+0x1d0/0x390 io_uring/io_uring.c:2749 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:2971 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3321 worker_thread+0x582/0x770 kernel/workqueue.c:3402 kthread+0x489/0x510 kernel/kthread.c:464 ret_from_fork+0xda/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x0000000000011170 -> 0x0000000000013880 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 4580 Comm: kworker/u8:28 Not tainted 6.16.0-rc6-syzkaller-00253-g4871b7cb27f4 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: iou_exit io_ring_exit_work ==================================================================