================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881012426b8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1478 sched_tick+0x11a/0x270 kernel/sched/core.c:5648 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 percpu_down_read_internal include/linux/percpu-rwsem.h:65 [inline] percpu_down_read include/linux/percpu-rwsem.h:77 [inline] cpus_read_lock+0x50/0xb0 kernel/cpu.c:491 __static_key_slow_dec kernel/jump_label.c:320 [inline] static_key_slow_dec+0x2c/0x70 kernel/jump_label.c:336 io_ring_ctx_free+0x23d/0x3a0 io_uring/io_uring.c:2811 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:3030 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/0x510 kernel/kthread.c:463 ret_from_fork+0x11f/0x1b0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff8881012426b8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x60/0x230 kernel/workqueue.c:1478 sched_tick+0x11a/0x270 kernel/sched/core.c:5648 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 arch_atomic64_read arch/x86/include/asm/atomic64_64.h:15 [inline] raw_atomic64_read include/linux/atomic/atomic-arch-fallback.h:2583 [inline] raw_atomic_long_read include/linux/atomic/atomic-long.h:38 [inline] atomic_long_read include/linux/atomic/atomic-instrumented.h:3189 [inline] find_watchpoint kernel/kcsan/core.c:131 [inline] check_access kernel/kcsan/core.c:737 [inline] __tsan_read8+0x2c/0x190 kernel/kcsan/core.c:1025 uncharge_batch+0xad/0x190 mm/memcontrol.c:4818 __mem_cgroup_uncharge_folios+0x86/0xb0 mm/memcontrol.c:4906 mem_cgroup_uncharge_folios include/linux/memcontrol.h:682 [inline] folios_put_refs+0x26e/0x2d0 mm/swap.c:998 release_pages+0x2a8/0x2f0 mm/swap.c:1039 io_free_region+0x7b/0x160 io_uring/memmap.c:102 io_rings_free io_uring/io_uring.c:2718 [inline] io_ring_ctx_free+0x1de/0x3a0 io_uring/io_uring.c:2808 io_ring_exit_work+0x529/0x560 io_uring/io_uring.c:3030 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0x4ce/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/0x510 kernel/kthread.c:463 ret_from_fork+0x11f/0x1b0 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x0000000000144b50 -> 0x0000000000147260 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 4409 Comm: kworker/u8:27 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 ==================================================================