================================================================== BUG: KCSAN: data-race in random_recv_done / virtio_read write to 0xffff888101233ecc of 4 bytes by interrupt on cpu 1: random_recv_done+0x58/0x80 drivers/char/hw_random/virtio-rng.c:45 vring_interrupt+0x15d/0x180 drivers/virtio/virtio_ring.c:2148 __handle_irq_event_percpu+0x92/0x400 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0x60/0xf0 kernel/irq/handle.c:210 handle_edge_irq+0x17e/0x5a0 kernel/irq/chip.c:817 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+0x27/0x40 is_atomic kernel/kcsan/core.c:258 [inline] should_watch kernel/kcsan/core.c:275 [inline] check_access kernel/kcsan/core.c:741 [inline] __tsan_read8+0x132/0x180 kernel/kcsan/core.c:1014 zap_pte_range+0x188/0x1430 mm/memory.c:1360 zap_pmd_range mm/memory.c:1497 [inline] zap_pud_range mm/memory.c:1526 [inline] zap_p4d_range mm/memory.c:1547 [inline] unmap_page_range+0x2dc/0x3d0 mm/memory.c:1568 unmap_single_vma+0x157/0x210 mm/memory.c:1613 unmap_vmas+0xd0/0x180 mm/memory.c:1645 exit_mmap+0x11f/0x380 mm/mmap.c:3140 __mmput+0x27/0x1b0 kernel/fork.c:1189 mmput+0x3d/0x50 kernel/fork.c:1210 exit_mm+0xdb/0x170 kernel/exit.c:510 do_exit+0x51d/0x1720 kernel/exit.c:782 do_group_exit+0xa5/0x160 kernel/exit.c:925 get_signal+0xf54/0x1020 kernel/signal.c:2875 arch_do_signal_or_restart+0x87/0x2d0 arch/x86/kernel/signal.c:869 exit_to_user_mode_loop+0x78/0x130 kernel/entry/common.c:166 exit_to_user_mode_prepare kernel/entry/common.c:201 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline] syscall_exit_to_user_mode+0x6a/0x90 kernel/entry/common.c:294 do_syscall_64+0x37/0x70 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x46/0xb0 write to 0xffff888101233ecc of 4 bytes by task 17419 on cpu 0: request_entropy drivers/char/hw_random/virtio-rng.c:56 [inline] copy_data drivers/char/hw_random/virtio-rng.c:74 [inline] virtio_read+0x190/0x430 drivers/char/hw_random/virtio-rng.c:92 rng_get_data drivers/char/hw_random/core.c:191 [inline] rng_dev_read+0x1b4/0x630 drivers/char/hw_random/core.c:228 vfs_read+0x1a1/0x6a0 fs/read_write.c:480 ksys_read+0xe8/0x1a0 fs/read_write.c:620 __do_sys_read fs/read_write.c:630 [inline] __se_sys_read fs/read_write.c:628 [inline] __x64_sys_read+0x3e/0x50 fs/read_write.c:628 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 value changed: 0x00000040 -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 17419 Comm: syz-executor.1 Not tainted 5.18.0-syzkaller-02752-gfdaf9a5840ac-dirty #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 ==================================================================