================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881000660a8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x63/0x2c0 kernel/workqueue.c:1146 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5674 update_process_times+0xf5/0x110 kernel/time/timer.c:2076 tick_sched_handle kernel/time/tick-sched.c:254 [inline] tick_sched_timer+0x244/0x2c0 kernel/time/tick-sched.c:1492 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1098 [inline] __sysvec_apic_timer_interrupt+0x73/0x210 arch/x86/kernel/apic/apic.c:1115 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1109 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645 kcsan_setup_watchpoint+0x3fe/0x410 kernel/kcsan/core.c:705 tty_write_room+0x25/0x50 drivers/tty/tty_ioctl.c:80 __process_echoes+0x31/0x620 drivers/tty/n_tty.c:620 flush_echoes drivers/tty/n_tty.c:816 [inline] __receive_buf drivers/tty/n_tty.c:1614 [inline] n_tty_receive_buf_common+0x8f9/0xbd0 drivers/tty/n_tty.c:1710 n_tty_receive_buf2+0x32/0x40 drivers/tty/n_tty.c:1756 tty_ldisc_receive_buf+0x60/0xe0 drivers/tty/tty_buffer.c:457 tty_port_default_receive_buf+0x58/0x80 drivers/tty/tty_port.c:39 receive_buf drivers/tty/tty_buffer.c:515 [inline] flush_to_ldisc+0x1ca/0x400 drivers/tty/tty_buffer.c:565 process_one_work+0x434/0x860 kernel/workqueue.c:2600 worker_thread+0x5f2/0xa10 kernel/workqueue.c:2751 kthread+0x1d7/0x210 kernel/kthread.c:389 ret_from_fork+0x2e/0x40 arch/x86/kernel/process.c:145 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 read-write to 0xffff8881000660a8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x63/0x2c0 kernel/workqueue.c:1146 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5674 update_process_times+0xf5/0x110 kernel/time/timer.c:2076 tick_sched_handle kernel/time/tick-sched.c:254 [inline] tick_sched_timer+0x244/0x2c0 kernel/time/tick-sched.c:1492 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1098 [inline] __sysvec_apic_timer_interrupt+0x73/0x210 arch/x86/kernel/apic/apic.c:1115 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1109 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645 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_read4+0xfb/0x180 kernel/kcsan/core.c:1024 __receive_buf drivers/tty/n_tty.c:1601 [inline] n_tty_receive_buf_common+0x415/0xbd0 drivers/tty/n_tty.c:1710 n_tty_receive_buf2+0x32/0x40 drivers/tty/n_tty.c:1756 tty_ldisc_receive_buf+0x60/0xe0 drivers/tty/tty_buffer.c:457 tty_port_default_receive_buf+0x58/0x80 drivers/tty/tty_port.c:39 receive_buf drivers/tty/tty_buffer.c:515 [inline] flush_to_ldisc+0x1ca/0x400 drivers/tty/tty_buffer.c:565 process_one_work+0x434/0x860 kernel/workqueue.c:2600 worker_thread+0x5f2/0xa10 kernel/workqueue.c:2751 kthread+0x1d7/0x210 kernel/kthread.c:389 ret_from_fork+0x2e/0x40 arch/x86/kernel/process.c:145 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 value changed: 0x0000000018826a00 -> 0x0000000018829110 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 20510 Comm: kworker/u4:109 Not tainted 6.5.0-rc7-syzkaller-00104-g4f9e7fabf864 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 Workqueue: events_unbound flush_to_ldisc ================================================================== ================================================================== BUG: KCSAN: data-race in wq_worker_tick / wq_worker_tick read-write to 0xffff8881000660a8 of 8 bytes by interrupt on cpu 1: wq_worker_tick+0x63/0x2c0 kernel/workqueue.c:1146 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5674 update_process_times+0xf5/0x110 kernel/time/timer.c:2076 tick_sched_handle kernel/time/tick-sched.c:254 [inline] tick_sched_timer+0x244/0x2c0 kernel/time/tick-sched.c:1492 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1098 [inline] __sysvec_apic_timer_interrupt+0x73/0x210 arch/x86/kernel/apic/apic.c:1115 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1109 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645 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_read8+0xba/0x180 kernel/kcsan/core.c:1025 pty_write+0x71/0xa0 drivers/tty/pty.c:118 tty_put_char+0x83/0xb0 drivers/tty/tty_io.c:3151 __process_echoes+0x395/0x620 drivers/tty/n_tty.c:715 flush_echoes drivers/tty/n_tty.c:816 [inline] __receive_buf drivers/tty/n_tty.c:1614 [inline] n_tty_receive_buf_common+0x8f9/0xbd0 drivers/tty/n_tty.c:1710 n_tty_receive_buf2+0x32/0x40 drivers/tty/n_tty.c:1756 tty_ldisc_receive_buf+0x60/0xe0 drivers/tty/tty_buffer.c:457 tty_port_default_receive_buf+0x58/0x80 drivers/tty/tty_port.c:39 receive_buf drivers/tty/tty_buffer.c:515 [inline] flush_to_ldisc+0x1ca/0x400 drivers/tty/tty_buffer.c:565 process_one_work+0x434/0x860 kernel/workqueue.c:2600 worker_thread+0x5f2/0xa10 kernel/workqueue.c:2751 kthread+0x1d7/0x210 kernel/kthread.c:389 ret_from_fork+0x2e/0x40 arch/x86/kernel/process.c:145 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 read-write to 0xffff8881000660a8 of 8 bytes by interrupt on cpu 0: wq_worker_tick+0x63/0x2c0 kernel/workqueue.c:1146 scheduler_tick+0x13e/0x1d0 kernel/sched/core.c:5674 update_process_times+0xf5/0x110 kernel/time/timer.c:2076 tick_sched_handle kernel/time/tick-sched.c:254 [inline] tick_sched_timer+0x244/0x2c0 kernel/time/tick-sched.c:1492 __run_hrtimer kernel/time/hrtimer.c:1688 [inline] __hrtimer_run_queues+0x217/0x700 kernel/time/hrtimer.c:1752 hrtimer_interrupt+0x20d/0x7b0 kernel/time/hrtimer.c:1814 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1098 [inline] __sysvec_apic_timer_interrupt+0x73/0x210 arch/x86/kernel/apic/apic.c:1115 sysvec_apic_timer_interrupt+0x68/0x80 arch/x86/kernel/apic/apic.c:1109 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645 should_watch kernel/kcsan/core.c:280 [inline] check_access kernel/kcsan/core.c:752 [inline] __tsan_read8+0x113/0x180 kernel/kcsan/core.c:1025 tty_put_char+0x4c/0xb0 drivers/tty/tty_io.c:3149 __process_echoes+0x3a5/0x620 drivers/tty/n_tty.c:716 flush_echoes drivers/tty/n_tty.c:816 [inline] __receive_buf drivers/tty/n_tty.c:1614 [inline] n_tty_receive_buf_common+0x8f9/0xbd0 drivers/tty/n_tty.c:1710 n_tty_receive_buf2+0x32/0x40 drivers/tty/n_tty.c:1756 tty_ldisc_receive_buf+0x60/0xe0 drivers/tty/tty_buffer.c:457 tty_port_default_receive_buf+0x58/0x80 drivers/tty/tty_port.c:39 receive_buf drivers/tty/tty_buffer.c:515 [inline] flush_to_ldisc+0x1ca/0x400 drivers/tty/tty_buffer.c:565 process_one_work+0x434/0x860 kernel/workqueue.c:2600 worker_thread+0x5f2/0xa10 kernel/workqueue.c:2751 kthread+0x1d7/0x210 kernel/kthread.c:389 ret_from_fork+0x2e/0x40 arch/x86/kernel/process.c:145 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 value changed: 0x00000000193fc690 -> 0x00000000193feda0 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 20499 Comm: kworker/u4:98 Not tainted 6.5.0-rc7-syzkaller-00104-g4f9e7fabf864 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 Workqueue: events_unbound flush_to_ldisc ==================================================================