================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881000734b8 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 preempt_count arch/x86/include/asm/preempt.h:27 [inline] get_ctx kernel/kcsan/core.c:206 [inline] check_access kernel/kcsan/core.c:750 [inline] __tsan_unaligned_write8+0xf3/0x190 kernel/kcsan/core.c:1025 commit_echoes drivers/tty/n_tty.c:742 [inline] n_tty_receive_char+0x437/0x6a0 drivers/tty/n_tty.c:1421 n_tty_receive_buf_standard+0x473/0x2f10 drivers/tty/n_tty.c:1590 __receive_buf drivers/tty/n_tty.c:1624 [inline] n_tty_receive_buf_common+0x805/0xbe0 drivers/tty/n_tty.c:1723 n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1769 tty_ldisc_receive_buf+0x63/0xf0 drivers/tty/tty_buffer.c:387 tty_port_default_receive_buf+0x59/0x90 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x148/0x340 drivers/tty/tty_buffer.c:495 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+0xda/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff8881000734b8 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 is_atomic kernel/kcsan/core.c:264 [inline] should_watch kernel/kcsan/core.c:277 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_read8+0x102/0x190 kernel/kcsan/core.c:1025 n_tty_receive_buf_common+0x983/0xbe0 drivers/tty/n_tty.c:1735 n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1769 tty_ldisc_receive_buf+0x63/0xf0 drivers/tty/tty_buffer.c:387 tty_port_default_receive_buf+0x59/0x90 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x148/0x340 drivers/tty/tty_buffer.c:495 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+0xda/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x000000000077ef20 -> 0x0000000000781630 Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 11548 Comm: kworker/u8:53 Tainted: G W syzkaller #0 PREEMPT(voluntary) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 Workqueue: events_unbound flush_to_ldisc ==================================================================