[PATCH v2 0/8] KVM: x86: Hyper-V hypercall fix and cleanups

From: Sean Christopherson
Date: Fri Oct 29 2021 - 20:08:20 EST


Fix a bug where KVM incorrectly skips an "all_cpus" IPI request, and misc
cleanups and enhancements for KVM handling of Hyper-V hypercalls.

Note, I couldn't find any documentation on the DEBUG hypercalls, I'm
basically just guessing that they don't have a variable sized header
and thus should reject hypercalls with a non-zero VARHEAD field.

Sean Christopherson (8):
KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI
req
KVM: x86: Get the number of Hyper-V sparse banks from the VARHEAD
field
KVM: x86: Refactor kvm_hv_flush_tlb() to reduce indentation
KVM: x86: Add a helper to get the sparse VP_SET for IPIs and TLB
flushes
KVM: x86: Don't bother reading sparse banks that end up being ignored
KVM: x86: Shove vp_bitmap handling down into sparse_set_to_vcpu_mask()
KVM: x86: Reject fixeds-size Hyper-V hypercalls with non-zero
"var_cnt"
KVM: x86: Add checks for reserved-to-zero Hyper-V hypercall fields

arch/x86/kvm/hyperv.c | 172 ++++++++++++++++++------------
arch/x86/kvm/trace.h | 14 +--
include/asm-generic/hyperv-tlfs.h | 7 ++
3 files changed, 120 insertions(+), 73 deletions(-)

--
2.33.1.1089.g2158813163f-goog