KVM: VMX: simplify and fix vmx_vcpu_pi_load
authorPaolo Bonzini <pbonzini@redhat.com>
Tue, 6 Jun 2017 10:57:06 +0000 (12:57 +0200)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 01:09:38 +0000 (01:09 +0000)
commitab0de800de56124e7761f4db2f924109b9158967
treed865386c7f10c1f7abf04b403018bf98967fea2f
parentf0f88ac43d4ee475c13dbc75d6e15223425c67d7
KVM: VMX: simplify and fix vmx_vcpu_pi_load

commit 31afb2ea2b10a7d17ce3db4cdb0a12b63b2fe08a upstream.

The simplify part: do not touch pi_desc.nv, we can set it when the
VCPU is first created.  Likewise, pi_desc.sn is only handled by
vmx_vcpu_pi_load, do not touch it in __pi_post_block.

The fix part: do not check kvm_arch_has_assigned_device, instead
check the SN bit to figure out whether vmx_vcpu_pi_put ran before.
This matches what the previous patch did in pi_post_block.

Cc: Huangweidong <weidong.huang@huawei.com>
Cc: Gonglei <arei.gonglei@huawei.com>
Cc: wangxin <wangxinxin.wang@huawei.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Tested-by: Longpeng (Mike) <longpeng2@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/vmx.c