diff options
| author | Jakub Kicinski <[email protected]> | 2025-02-20 18:36:34 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-02-20 18:37:30 +0000 |
| commit | 5d6ba5ab8582aa35c1ee98e47af28e6f6772596c (patch) | |
| tree | a4a3a2d311773c19909c9928273e0bcae01a39ce /arch/x86/kvm/hyperv.c | |
| parent | Merge tag 'linux-can-next-for-6.15-20250219' of git://git.kernel.org/pub/scm/... (diff) | |
| parent | Merge tag 'net-6.14-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff) | |
| download | kernel-5d6ba5ab8582aa35c1ee98e47af28e6f6772596c.tar.gz kernel-5d6ba5ab8582aa35c1ee98e47af28e6f6772596c.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.14-rc4).
No conflicts or adjacent changes.
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'arch/x86/kvm/hyperv.c')
| -rw-r--r-- | arch/x86/kvm/hyperv.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c index 6a6dd5a84f22..6ebeb6cea6c0 100644 --- a/arch/x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -2226,6 +2226,9 @@ static u64 kvm_hv_send_ipi(struct kvm_vcpu *vcpu, struct kvm_hv_hcall *hc) u32 vector; bool all_cpus; + if (!lapic_in_kernel(vcpu)) + return HV_STATUS_INVALID_HYPERCALL_INPUT; + if (hc->code == HVCALL_SEND_IPI) { if (!hc->fast) { if (unlikely(kvm_read_guest(kvm, hc->ingpa, &send_ipi, @@ -2852,7 +2855,8 @@ int kvm_get_hv_cpuid(struct kvm_vcpu *vcpu, struct kvm_cpuid2 *cpuid, ent->eax |= HV_X64_REMOTE_TLB_FLUSH_RECOMMENDED; ent->eax |= HV_X64_APIC_ACCESS_RECOMMENDED; ent->eax |= HV_X64_RELAXED_TIMING_RECOMMENDED; - ent->eax |= HV_X64_CLUSTER_IPI_RECOMMENDED; + if (!vcpu || lapic_in_kernel(vcpu)) + ent->eax |= HV_X64_CLUSTER_IPI_RECOMMENDED; ent->eax |= HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED; if (evmcs_ver) ent->eax |= HV_X64_ENLIGHTENED_VMCS_RECOMMENDED; |
