Re: [PATCH MANUALSEL 5.14 2/5] KVM: x86: WARN if APIC HW/SW disable static keys are non-zero on unload

Paolo Bonzini
2021-10-26T16:15:22Z

On 25/10/21 22:38, Sasha Levin wrote:
> From: Sean Christopherson <seanjc@google.com>
>
> [ Upstream commit 9139a7a64581c80d157027ae20e86f2f24d4292c ]
>
> WARN if the static keys used to track if any vCPU has disabled its APIC
> are left elevated at module exit. Unlike the underflow case, nothing in
> the static key infrastructure will complain if a key is left elevated,
> and because an elevated key only affects performance, nothing in KVM will
> fail if either key is improperly incremented.
>
> Signed-off-by: Sean Christopherson <seanjc@google.com>
> Message-Id: <20211013003554.47705-3-seanjc@google.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
> arch/x86/kvm/lapic.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index ba5a27879f1d..18cb699b0a14 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -2942,5 +2942,7 @@ int kvm_apic_accept_events(struct kvm_vcpu *vcpu)
> void kvm_lapic_exit(void)
> {
> static_key_deferred_flush(&apic_hw_disabled);
> + WARN_ON(static_branch_unlikely(&apic_hw_disabled.key));
> static_key_deferred_flush(&apic_sw_disabled);
> + WARN_ON(static_branch_unlikely(&apic_sw_disabled.key));
> }
>

NACK

Paolo