KCSAN: data-race in __ps2_command / ps2_interrupt

Status: moderation: reported on 2026/07/24 21:38
Subsystems: input
Labels: race:benign prio:high
[Documentation on labels]
Reported-by: syzbot+1ecceabfed79f6a96c7d@syzkaller.appspotmail.com
First crash: 3d18h, last: 1d12h
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision Error
a48e11bb assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ✅ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ✅ KCSAN: data-race in __ps2_command / ps2_interrupt 2026/07/26 02:33 2026/07/26 02:33 2026/07/26 02:37 492bab15

			
		
f7b71f5b assessment-kcsan Benign: ✅ KCSAN: data-race in __ps2_command / ps2_interrupt 2026/07/24 21:38 2026/07/24 21:38 2026/07/24 22:08 1bdb5c57

			
		

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __ps2_command / ps2_interrupt

write to 0xffff888103513458 of 1 bytes by interrupt on cpu 0:
 ps2_handle_response drivers/input/serio/libps2.c:479 [inline]
 ps2_interrupt+0x1be/0x550 drivers/input/serio/libps2.c:608
 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
 folio_test_anon include/linux/page-flags.h:-1 [inline]
 zap_present_folio_ptes mm/memory.c:1647 [inline]
 zap_present_ptes mm/memory.c:1730 [inline]
 do_zap_pte_range mm/memory.c:1832 [inline]
 zap_pte_range mm/memory.c:1934 [inline]
 zap_pmd_range mm/memory.c:2020 [inline]
 zap_pud_range mm/memory.c:2048 [inline]
 zap_p4d_range mm/memory.c:2069 [inline]
 __zap_vma_range+0xc95/0x2c60 mm/memory.c:2109
 unmap_vmas+0x200/0x310 mm/memory.c:2178
 exit_mmap+0x1a2/0x5e0 mm/mmap.c:1300
 __mmput+0x28/0x1c0 kernel/fork.c:1187
 mmput+0x40/0x50 kernel/fork.c:1210
 exit_mm+0x113/0x1a0 kernel/exit.c:615
 do_exit+0x438/0x1500 kernel/exit.c:997
 do_group_exit+0xfe/0x140 kernel/exit.c:1152
 get_signal+0xe07/0xf10 kernel/signal.c:3046
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop+0x15d/0x8c0 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
 ret_from_fork+0x188/0x330 arch/x86/kernel/process.c:167
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

read to 0xffff888103513458 of 1 bytes by task 35 on cpu 1:
 __ps2_command+0x591/0xaa0 drivers/input/serio/libps2.c:343
 ps2_command+0x52/0x90 drivers/input/serio/libps2.c:403
 synaptics_detect+0x8e/0x130 drivers/input/mouse/synaptics.c:105
 psmouse_do_detect drivers/input/mouse/psmouse-base.c:987 [inline]
 psmouse_extensions+0x4df/0x960 drivers/input/mouse/psmouse-base.c:1082
 __psmouse_reconnect+0x3da/0x8b0 drivers/input/mouse/psmouse-base.c:1685
 psmouse_reconnect+0x17/0x20 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:3322 [inline]
 process_scheduled_works+0x4d4/0x9a0 kernel/workqueue.c:3405
 worker_thread+0x569/0x750 kernel/workqueue.c:3486
 kthread+0x221/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: 0x01 -> 0x00

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 35 Comm: kworker/1:1 Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/16/2026
Workqueue: events_long serio_handle_event
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/27 03:01 upstream 4235cb24ec1e 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __ps2_command / ps2_interrupt
2026/07/24 21:38 upstream 48a5a7ab8d6a dd737a83 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __ps2_command / ps2_interrupt
2026/07/24 21:38 upstream 48a5a7ab8d6a dd737a83 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __ps2_command / ps2_interrupt
* Struck through repros no longer work on HEAD.