================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881000732b8 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+0x20f/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 queue_work_on+0x102/0x160 kernel/workqueue.c:2395 queue_work include/linux/workqueue.h:669 [inline] tty_insert_flip_string_and_push_buffer+0x1ce/0x1f0 drivers/tty/tty_buffer.c:563 pty_write+0x70/0x90 drivers/tty/pty.c:118 tty_put_char+0x8c/0xc0 drivers/tty/tty_io.c:3154 n_tty_process_echo_ops drivers/tty/n_tty.c:648 [inline] __process_echoes+0x309/0x6b0 drivers/tty/n_tty.c:693 flush_echoes drivers/tty/n_tty.c:791 [inline] __receive_buf drivers/tty/n_tty.c:1626 [inline] n_tty_receive_buf_common+0x8e4/0xbe0 drivers/tty/n_tty.c:1723 n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1769 tty_ldisc_receive_buf+0x66/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+0x4cb/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/0x510 kernel/kthread.c:464 ret_from_fork+0xdd/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read-write to 0xffff8881000732b8 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+0x20f/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] check_kcov_mode kernel/kcov.c:183 [inline] __sanitizer_cov_trace_pc+0x18/0x70 kernel/kcov.c:217 ldsem_down_read_trylock+0x10/0x90 drivers/tty/tty_ldsem.c:347 tty_ldisc_ref+0x1c/0x70 drivers/tty/tty_ldisc.c:263 tty_port_default_lookahead_buf+0x3d/0xc0 drivers/tty/tty_port.c:54 lookahead_bufs drivers/tty/tty_buffer.c:428 [inline] flush_to_ldisc+0x288/0x340 drivers/tty/tty_buffer.c:498 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0x4cb/0x9d0 kernel/workqueue.c:3319 worker_thread+0x582/0x770 kernel/workqueue.c:3400 kthread+0x486/0x510 kernel/kthread.c:464 ret_from_fork+0xdd/0x150 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x0000000000055730 -> 0x0000000000057e40 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 12 Comm: kworker/u8:0 Not tainted 6.16.0-syzkaller-10355-gf2d282e1dfb3 #0 PREEMPT(voluntary) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 Workqueue: events_unbound flush_to_ldisc ==================================================================