KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
authorHaozhong Zhang <haozhong.zhang@intel.com>
Mon, 18 Sep 2017 01:56:50 +0000 (09:56 +0800)
committerpopcornmix <popcornmix@gmail.com>
Fri, 6 Oct 2017 12:06:52 +0000 (13:06 +0100)
commitbbd91d3b35ef120f994a479104376f8003b6c37f
treef557c7a21af05d6da2c275055d30c622d57fed7c
parent0c6be12881cebd7afa232ad5323aafe6ff2d137b
KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt

commit 5753743fa5108b8f98bd61e40dc63f641b26c768 upstream.

WARN_ON_ONCE(pi_test_sn(&vmx->pi_desc)) in kvm_vcpu_trigger_posted_interrupt()
intends to detect the violation of invariant that VT-d PI notification
event is not suppressed when vcpu is in the guest mode. Because the
two checks for the target vcpu mode and the target suppress field
cannot be performed atomically, the target vcpu mode may change in
between. If that does happen, WARN_ON_ONCE() here may raise false
alarms.

As the previous patch fixed the real invariant breaker, remove this
WARN_ON_ONCE() to avoid false alarms, and document the allowed cases
instead.

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Reported-by: "Ramamurthy, Venkatesh" <venkatesh.ramamurthy@intel.com>
Reported-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Fixes: 28b835d60fcc ("KVM: Update Posted-Interrupts Descriptor when vCPU is preempted")
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/vmx.c