================================================================== BUG: KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt write to 0xffff88810397b248 of 8 bytes by interrupt on cpu 0: ps2_interrupt+0x50d/0x550 drivers/input/serio/libps2.c:-1 serio_interrupt+0x66/0xf0 drivers/input/serio/serio.c:967 i8042_handle_data+0x388/0x680 drivers/input/serio/i8042.c:598 i8042_interrupt+0x15/0x90 drivers/input/serio/i8042.c:605 __handle_irq_event_percpu+0x8b/0x480 kernel/irq/handle.c:209 handle_irq_event_percpu kernel/irq/handle.c:246 [inline] handle_irq_event+0x64/0xf0 kernel/irq/handle.c:263 handle_edge_irq+0x155/0x440 kernel/irq/chip.c:859 generic_handle_irq_desc include/linux/irqdesc.h:188 [inline] handle_irq arch/x86/kernel/irq.c:209 [inline] call_irq_handler arch/x86/kernel/irq.c:-1 [inline] __common_interrupt+0x60/0xb0 arch/x86/kernel/irq.c:280 common_interrupt+0x7e/0x90 arch/x86/kernel/irq.c:273 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:665 __preempt_count_dec_and_test arch/x86/include/asm/preempt.h:123 [inline] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:211 [inline] _raw_spin_unlock_irqrestore+0x1a/0x30 kernel/locking/spinlock.c:221 spin_unlock_irqrestore include/linux/spinlock.h:425 [inline] usb_hcd_unlink_urb+0x6f/0xe0 drivers/usb/core/hcd.c:1614 usb_kill_urb+0x6a/0x150 drivers/usb/core/urb.c:716 hub_quiesce+0x14e/0x1d0 drivers/usb/core/hub.c:1417 hub_suspend+0x4e0/0x560 drivers/usb/core/hub.c:4021 usb_suspend_interface drivers/usb/core/driver.c:1327 [inline] usb_suspend_both+0x16f/0x9b0 drivers/usb/core/driver.c:1450 usb_runtime_suspend+0x4a/0xe0 drivers/usb/core/driver.c:2004 __rpm_callback+0x2e6/0x6d0 drivers/base/power/runtime.c:406 rpm_callback drivers/base/power/runtime.c:460 [inline] rpm_suspend+0x705/0xfd0 drivers/base/power/runtime.c:695 __pm_runtime_suspend+0xed/0x1c0 drivers/base/power/runtime.c:1167 pm_runtime_autosuspend include/linux/pm_runtime.h:415 [inline] usb_runtime_idle+0x5f/0x70 drivers/usb/core/driver.c:2041 rpm_idle+0x58b/0x860 drivers/base/power/runtime.c:547 pm_runtime_work+0x109/0x130 drivers/base/power/runtime.c:995 process_one_work kernel/workqueue.c:3396 [inline] process_scheduled_works+0x56a/0xa50 kernel/workqueue.c:3479 worker_thread+0x569/0x750 kernel/workqueue.c:3560 kthread+0x223/0x270 kernel/kthread.c:436 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff88810397b248 of 8 bytes by task 3348 on cpu 1: ps2_do_sendbyte+0x17e/0x320 drivers/input/serio/libps2.c:65 ps2_sendbyte+0x40/0x60 drivers/input/serio/libps2.c:114 cypress_ps2_sendbyte drivers/input/mouse/cypress_ps2.c:43 [inline] cypress_ps2_ext_cmd+0x2e/0x2e0 drivers/input/mouse/cypress_ps2.c:72 cypress_send_ext_cmd+0x96/0x550 drivers/input/mouse/cypress_ps2.c:139 cypress_detect+0x44/0x130 drivers/input/mouse/cypress_ps2.c:163 psmouse_do_detect drivers/input/mouse/psmouse-base.c:995 [inline] psmouse_try_protocol drivers/input/mouse/psmouse-base.c:1009 [inline] psmouse_extensions+0x547/0x960 drivers/input/mouse/psmouse-base.c:1132 __psmouse_reconnect+0x3dd/0x880 drivers/input/mouse/psmouse-base.c:1685 psmouse_reconnect+0x23/0x40 drivers/input/mouse/psmouse-base.c:1723 serio_reconnect_driver drivers/input/serio/serio.c:52 [inline] serio_reconnect_port drivers/input/serio/serio.c:558 [inline] serio_handle_event+0x1c7/0xac0 drivers/input/serio/serio.c:201 process_one_work kernel/workqueue.c:3396 [inline] process_scheduled_works+0x56a/0xa50 kernel/workqueue.c:3479 worker_thread+0x569/0x750 kernel/workqueue.c:3560 kthread+0x223/0x270 kernel/kthread.c:436 ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x0000000000000001 -> 0x0000000000000000 Reported by Kernel Concurrency Sanitizer on: CPU: 1 UID: 0 PID: 3348 Comm: kworker/1:2 Not tainted syzkaller #0 PREEMPT(lazy) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Workqueue: events_long serio_handle_event ==================================================================