================================================================== BUG: KCSAN: data-race in random_recv_done / virtio_read read to 0xffff888101c9aacc of 4 bytes by task 10500 on cpu 0: copy_data drivers/char/hw_random/virtio-rng.c:70 [inline] virtio_read+0xc2/0x450 drivers/char/hw_random/virtio-rng.c:92 rng_get_data drivers/char/hw_random/core.c:192 [inline] rng_dev_read+0x1b4/0x630 drivers/char/hw_random/core.c:229 vfs_read+0x1e6/0x750 fs/read_write.c:479 ksys_pread64 fs/read_write.c:671 [inline] __do_sys_pread64 fs/read_write.c:681 [inline] __se_sys_pread64 fs/read_write.c:678 [inline] __x64_sys_pread64+0xf5/0x150 fs/read_write.c:678 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae write to 0xffff888101c9aacc 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:2163 __handle_irq_event_percpu+0x93/0x480 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:198 [inline] handle_irq_event+0x9a/0x150 kernel/irq/handle.c:215 handle_edge_irq+0x18e/0x5f0 kernel/irq/chip.c:822 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 __raw_spin_unlock_irq include/linux/spinlock_api_smp.h:160 [inline] _raw_spin_unlock_irq+0x2a/0x50 kernel/locking/spinlock.c:202 process_one_work+0x3e9/0x980 kernel/workqueue.c:2271 worker_thread+0x616/0xa70 kernel/workqueue.c:2445 kthread+0x2c7/0x2e0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 value changed: 0x00000000 -> 0x00000040 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 1915 Comm: kworker/1:6 Not tainted 5.16.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events_long defense_work_handler ================================================================== virtio_rng virtio3: input:id 0 is not a head!