On Mon, Dec 13, 2021 at 10:50:12AM +0100, Vitaly Kuznetsov wrote: > From: Sean Christopherson <seanjc@xxxxxxxxxx> > > commit 3244867af8c065e51969f1bffe732d3ebfd9a7d2 upstream. > > Do not bail early if there are no bits set in the sparse banks for a > non-sparse, a.k.a. "all CPUs", IPI request. Per the Hyper-V spec, it is > legal to have a variable length of '0', e.g. VP_SET's BankContents in > this case, if the request can be serviced without the extra info. > > It is possible that for a given invocation of a hypercall that does > accept variable sized input headers that all the header input fits > entirely within the fixed size header. In such cases the variable sized > input header is zero-sized and the corresponding bits in the hypercall > input should be set to zero. > > Bailing early results in KVM failing to send IPIs to all CPUs as expected > by the guest. > > Fixes: 214ff83d4473 ("KVM: x86: hyperv: implement PV IPI send hypercalls") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > Message-Id: <20211207220926.718794-2-seanjc@xxxxxxxxxx> > Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > --- > arch/x86/kvm/hyperv.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) Both now queued up, thanks. greg k-h