KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt

Status: moderation: reported on 2026/07/24 18:43
Subsystems: input
Labels: race:benign prio:low
[Documentation on labels]
Reported-by: syzbot+96605ccb04166cb6cfe8@syzkaller.appspotmail.com
First crash: 16d, last: 11h40m
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
a54ac6e2 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt 2026/07/26 01:50 2026/07/26 01:50 2026/07/26 02:20 492bab15
f55a2969 assessment-kcsan Benign: ✅ KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt 2026/07/24 18:42 2026/07/24 18:42 2026/07/24 18:45 1bdb5c57

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

write to 0xffff8881038c2248 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 arch/x86/include/asm/preempt.h:27 [inline]
 get_ctx kernel/kcsan/core.c:206 [inline]
 check_access kernel/kcsan/core.c:750 [inline]
 __kcsan_check_access+0x12f/0x1d0 kernel/kcsan/core.c:958
 instrument_read_write include/linux/instrumented.h:56 [inline]
 atomic_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:1301 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:111 [inline]
 do_raw_spin_lock include/linux/spinlock.h:187 [inline]
 __raw_spin_lock include/linux/spinlock_api_smp.h:159 [inline]
 _raw_spin_lock+0x4a/0xa0 kernel/locking/spinlock.c:158
 spin_lock include/linux/spinlock.h:342 [inline]
 d_make_discardable+0x1a/0x90 fs/dcache.c:1048
 simple_unlink+0x68/0x80 fs/libfs.c:808
 shmem_unlink+0x12d/0x140 mm/shmem.c:3927
 shmem_rename2+0x185/0x310 mm/shmem.c:4008
 vfs_rename+0x963/0xac0 fs/namei.c:6074
 filename_renameat2+0x3a4/0x6a0 fs/namei.c:6192
 __do_sys_rename fs/namei.c:6236 [inline]
 __se_sys_rename+0x4a/0x1c0 fs/namei.c:6232
 __x64_sys_rename+0x31/0x40 fs/namei.c:6232
 x64_sys_call+0x2b3/0x3020 arch/x86/include/generated/asm/syscalls_64.h:83
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881038c2248 of 8 bytes by task 21793 on cpu 1:
 ps2_do_sendbyte+0x17e/0x320 drivers/input/serio/libps2.c:65
 __ps2_command+0x364/0xaa0 drivers/input/serio/libps2.c:322
 ps2_command+0x52/0x90 drivers/input/serio/libps2.c:403
 synaptics_detect+0x6e/0x130 drivers/input/mouse/synaptics.c:103
 psmouse_switch_protocol+0xda/0x300 drivers/input/mouse/psmouse-base.c:1503
 psmouse_attr_set_protocol+0x476/0xb10 drivers/input/mouse/psmouse-base.c:1916
 psmouse_attr_set_helper+0x2aa/0x470 drivers/input/mouse/psmouse-base.c:1813
 dev_attr_store+0x4a/0x70 drivers/base/core.c:2505
 sysfs_kf_write+0xfe/0x120 fs/sysfs/file.c:145
 kernfs_fop_write_iter+0x1d2/0x2e0 fs/kernfs/file.c:345
 new_sync_write fs/read_write.c:595 [inline]
 vfs_write+0x57d/0x990 fs/read_write.c:687
 ksys_write+0xdc/0x1a0 fs/read_write.c:739
 __do_sys_write fs/read_write.c:750 [inline]
 __se_sys_write fs/read_write.c:747 [inline]
 __x64_sys_write+0x40/0x50 fs/read_write.c:747
 x64_sys_call+0x27e1/0x3020 arch/x86/include/generated/asm/syscalls_64.h:2
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000001 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 21793 Comm: syz.1.7313 Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================
input: PS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input7

Crashes (24):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/09 20:30 upstream b9b3e33b70b7 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/08 22:08 upstream a7c7074b58d2 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/06 02:40 upstream 0d8395707651 cd5b1963 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/05 07:09 upstream c21bb4193868 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/04 21:33 upstream 562bfb501c54 d4abbeac .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/04 15:54 upstream 848acc8ffe1b d4abbeac .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/02 23:50 upstream bd1dde877520 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/02 08:38 upstream 2d2338c93da7 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/02 04:15 upstream 02dc699f83d0 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/01 07:10 upstream 0131b508c0e2 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/08/01 07:09 upstream 0131b508c0e2 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/31 04:48 upstream 3708dd948844 aaffb173 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/28 05:31 upstream 62cc90241548 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/27 15:41 upstream f5098b6bae76 aae9036b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/27 15:38 upstream f5098b6bae76 aae9036b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/27 10:31 upstream f5098b6bae76 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/27 03:03 upstream 4235cb24ec1e 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/26 09:55 upstream 3dab139d4795 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/26 06:08 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/26 06:06 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/26 06:01 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/26 00:27 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/25 10:11 upstream e2a936998ab2 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
2026/07/24 18:42 upstream 48a5a7ab8d6a dd737a83 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in ps2_do_sendbyte / ps2_interrupt
* Struck through repros no longer work on HEAD.