================================================================== BUG: KCSAN: data-race in ps2_do_sendbyte / ps2_handle_ack write to 0xffff88810353d040 of 8 bytes by interrupt on cpu 1: ps2_handle_ack+0x15a/0x350 drivers/input/serio/libps2.c:439 atkbd_interrupt+0xbf7/0xcd0 drivers/input/keyboard/atkbd.c:434 serio_interrupt+0x5d/0xe0 drivers/input/serio/serio.c:1001 i8042_interrupt+0x39e/0x720 drivers/input/serio/i8042.c:606 __handle_irq_event_percpu+0x92/0x450 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0x7b/0x110 kernel/irq/handle.c:210 handle_edge_irq+0x18e/0x5f0 kernel/irq/chip.c:820 generic_handle_irq_desc include/linux/irqdesc.h:158 [inline] handle_irq arch/x86/kernel/irq.c:231 [inline] __common_interrupt+0x60/0x100 arch/x86/kernel/irq.c:250 common_interrupt+0x9a/0xc0 arch/x86/kernel/irq.c:240 asm_common_interrupt+0x1e/0x40 _compound_head include/linux/page-flags.h:195 [inline] __pagevec_lru_add+0x8a/0x270 mm/swap.c:1068 lru_add_drain_cpu+0x6a/0x260 mm/swap.c:613 lru_add_drain+0x21/0x60 mm/swap.c:717 free_pages_and_swap_cache+0x1d/0x200 mm/swap_state.c:317 tlb_batch_pages_flush mm/mmu_gather.c:50 [inline] tlb_flush_mmu_free mm/mmu_gather.c:243 [inline] tlb_flush_mmu+0x597/0x5f0 mm/mmu_gather.c:250 zap_pte_range+0xe56/0x10e0 mm/memory.c:1441 zap_pmd_range mm/memory.c:1490 [inline] zap_pud_range mm/memory.c:1519 [inline] zap_p4d_range mm/memory.c:1540 [inline] unmap_page_range+0x2dc/0x3d0 mm/memory.c:1561 unmap_single_vma+0x157/0x210 mm/memory.c:1606 unmap_vmas+0xd0/0x180 mm/memory.c:1638 exit_mmap+0x261/0x4c0 mm/mmap.c:3178 __mmput+0x27/0x1b0 kernel/fork.c:1114 mmput+0x3d/0x50 kernel/fork.c:1135 exit_mm+0xdb/0x170 kernel/exit.c:507 do_exit+0x569/0x16a0 kernel/exit.c:793 do_group_exit+0xa5/0x160 kernel/exit.c:935 get_signal+0x8cf/0x15b0 kernel/signal.c:2863 arch_do_signal_or_restart+0x8c/0x2e0 arch/x86/kernel/signal.c:868 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop kernel/entry/common.c:172 [inline] exit_to_user_mode_prepare+0x113/0x190 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:300 do_syscall_64+0x50/0xd0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae read to 0xffff88810353d040 of 8 bytes by task 75 on cpu 0: ps2_do_sendbyte+0x1ba/0x3b0 drivers/input/serio/libps2.c:45 __ps2_command+0x30d/0xa00 drivers/input/serio/libps2.c:273 ps2_command+0x51/0x90 drivers/input/serio/libps2.c:332 atkbd_set_repeat_rate drivers/input/keyboard/atkbd.c:595 [inline] atkbd_event_work+0x2d4/0x300 drivers/input/keyboard/atkbd.c:649 process_one_work+0x3f6/0x960 kernel/workqueue.c:2307 worker_thread+0x616/0xa70 kernel/workqueue.c:2454 kthread+0x1bf/0x1e0 kernel/kthread.c:377 ret_from_fork+0x1f/0x30 value changed: 0x0000000000000001 -> 0x0000000000000000 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 75 Comm: kworker/0:2 Not tainted 5.17.0-rc6-syzkaller-00066-g5859a2b19911-dirty #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events atkbd_event_work ==================================================================