[moderation/CI] Re: KVM: x86/hyperv: Fix racy usage of vcpu->arch.hyperv
syzbot ci <[email protected]>
| Newsgroups | dev.linux.lists.syzbot |
|---|---|
| Message-ID | <[email protected]> |
syzbot ci has tested the following series [v3] KVM: x86/hyperv: Fix racy usage of vcpu->arch.hyperv https://lore.kernel.org/all/[email protected] * [PATCH v3 01/10] KVM: x86/hyperv: Get target FIFO in hv_tlb_flush_enqueue(), not caller * [PATCH v3 02/10] KVM: x86/hyperv: Check for NULL vCPU Hyper-V object in kvm_hv_get_tlb_flush_fifo() * [PATCH v3 03/10] KVM: x86/hyperv: Ensure vCPU's Hyper-V object is initialized on cross-vCPU accesses * [PATCH v3 04/10] KVM: x86/xen: Punt singleshot timer hcalls to userspace if Xen vCPU ID isn't set * [PATCH v3 05/10] KVM: x86/xen: Consolidate checks on Xen vCPU ID for singleshot timer hypercalls * [PATCH v3 06/10] KVM: Initialize a vCPU's index to '-1' while it's being created * [PATCH v3 07/10] KVM: Move nVMX's lockdep logic for vcpu->mutex to a common helper * [PATCH v3 08/10] KVM: x86: Treat a vCPU as unreachable if its index is invalid * [PATCH v3 09/10] KVM: x86/hyperv: Assert vCPU's mutex is held in to_hv_vcpu() * [PATCH v3 10/10] KVM: x86/hyperv: Use {READ,WRITE}_ONCE for cross-task synic->active accesses and found the following issue: WARNING in kvm_hv_vcpu_uninit Full report is available here: https://ci.syzbot.org/series/6864cbe8-ce00-47d1-b4b1-abc7d1528d4e *** WARNING in kvm_hv_vcpu_uninit tree: kvm-next URL: https://kernel.googlesource.com/pub/scm/virt/kvm/kvm/ base: a204badd8432f93b7e862e7dac6db0fe3d65f370 arch: amd64 compiler: Debian clang version 22.1.6 (++20260514074242+fc4aad7b5db3-1~exp1~20260514074407.73), Debian LLD 22.1.6 config: https://ci.syzbot.org/builds/0627391d-c4d6-4820-99f0-31a8b51ba783/config syz repro: https://ci.syzbot.org/findings/cdadfdf2-8445-4193-a3a6-bf878176b493/syz_repro ------------[ cut here ]------------ debug_locks && !(lock_is_held(&(&vcpu->mutex)->dep_map) || vcpu->vcpu_idx < 0 || !refcount_read(&vcpu->kvm->users_count)) WARNING: ./include/linux/kvm_host.h:996 at kvm_lockdep_assert_vcpu_is_locked_or_unreachable include/linux/kvm_host.h:994 [inline], CPU#1: syz.1.34/5967 WARNING: ./include/linux/kvm_host.h:996 at to_hv_vcpu arch/x86/kvm/hyperv.h:79 [inline], CPU#1: syz.1.34/5967 WARNING: ./include/linux/kvm_host.h:996 at kvm_hv_vcpu_uninit+0x198/0x210 arch/x86/kvm/hyperv.c:906, CPU#1: syz.1.34/5967 Modules linked in: CPU: 1 UID: 0 PID: 5967 Comm: syz.1.34 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:kvm_lockdep_assert_vcpu_is_locked_or_unreachable include/linux/kvm_host.h:994 [inline] RIP: 0010:to_hv_vcpu arch/x86/kvm/hyperv.h:79 [inline] RIP: 0010:kvm_hv_vcpu_uninit+0x198/0x210 arch/x86/kvm/hyperv.c:906 Code: 48 89 df e8 0a 55 d8 00 48 c7 03 00 00 00 00 eb 05 e8 5c 16 6d 00 5b 41 5c 41 5e 41 5f 5d e9 ff 16 4d 0a cc e8 49 16 6d 00 90 <0f> 0b 90 e9 65 ff ff ff 48 c7 c1 e0 bb 2f 90 80 e1 07 80 c1 03 38 RSP: 0018:ffffc9000390f960 EFLAGS: 00010293 RAX: ffffffff8158e9e7 RBX: ffff8881bc192880 RCX: ffff88816ac70000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: 0000000000000001 R08: ffff888101fa1743 R09: 1ffff110203f42e8 R10: dffffc0000000000 R11: ffffed10203f42e9 R12: 0000000000000000 R13: 00000000fffffff8 R14: ffff888101fa1740 R15: dffffc0000000000 FS: 00007f47c1e886c0(0000) GS:ffff8882a92b6000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000200000c64000 CR3: 000000016a5e7000 CR4: 0000000000352ef0 Call Trace: <TASK> kvm_arch_vcpu_destroy+0x1a9/0x380 arch/x86/kvm/x86.c:9413 kvm_vm_ioctl_create_vcpu+0x615/0x990 virt/kvm/kvm_main.c:4269 kvm_vm_ioctl+0x886/0xd30 virt/kvm/kvm_main.c:5168 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f47c0f9caeb Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00 RSP: 002b:00007f47c1e87ee0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f47c1215fa0 RCX: 00007f47c0f9caeb RDX: 0000000000000000 RSI: 000000000000ae41 RDI: 00000000000000f7 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000200000c00000 R11: 0000000000000246 R12: 0000200000c00000 R13: 0000000000000153 R14: 0000200000000400 R15: 00007ffe526558c8 </TASK> *** If these findings have caused you to resend the series or submit a separate fix, please add the following tag to your commit message: Tested-by: [email protected] --- This report is generated by a bot. It may contain errors. syzbot ci engineers can be reached at [email protected]. To test a patch for this bug, please reply with `#syz test` (should be on a separate line). The patch should be attached to the email. Note: arguments like custom git repos and branches are not supported. The email will later be sent to: [[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]] If the report looks fine to you, reply with: #syz upstream If the report is a false positive, reply with #syz invalid