Messages in this thread Patch in this message | | | From | Paolo Bonzini <> | Subject | [PATCH for-stable] KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled | Date | Mon, 20 Dec 2021 10:49:50 +0100 |
| |
commit e90e51d5f01d2baae5dcce280866bbb96816e978 upstream.
There is nothing to synchronize if APICv is disabled, since neither other vCPUs nor assigned devices can set PIR.ON.
After the patch was committed to Linus's tree, it was observed that this fixes an issue with commit 7e1901f6c86c ("KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled", backported to stable as e.g. commit 70a37e04c08a for the 5.15 tree). Without this patch, vmx_sync_pir_to_irr can be reached with enable_apicv == false, triggering
if (KVM_BUG_ON(!enable_apicv, vcpu->kvm))
Fixes: 7e1901f6c86c ("KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled") Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- arch/x86/kvm/vmx/vmx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index dacdf2395f01..4e212f04268b 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -7776,10 +7776,10 @@ static __init int hardware_setup(void) ple_window_shrink = 0; } - if (!cpu_has_vmx_apicv()) { + if (!cpu_has_vmx_apicv()) enable_apicv = 0; + if (!enable_apicv) vmx_x86_ops.sync_pir_to_irr = NULL; - } if (cpu_has_vmx_tsc_scaling()) { kvm_has_tsc_control = true; -- 2.33.1
| |