summaryrefslogtreecommitdiffstats
path: root/fs/9p
diff options
context:
space:
mode:
authorMaxim Levitsky <mlevitsk@redhat.com>2020-07-08 14:57:31 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-08-19 08:27:03 +0200
commit72bc544c0dd41ec7b68f295025c4e8e06f75e575 (patch)
tree1980fa04562fc3d944ef13a6a9d1cbc656879e11 /fs/9p
parent2e91bbf598b284e27d57bd77a37f8764dcf64d93 (diff)
downloadlinux-stable-72bc544c0dd41ec7b68f295025c4e8e06f75e575.tar.gz
linux-stable-72bc544c0dd41ec7b68f295025c4e8e06f75e575.tar.bz2
linux-stable-72bc544c0dd41ec7b68f295025c4e8e06f75e575.zip
kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host
commit 841c2be09fe4f495fe5224952a419bd8c7e5b455 upstream. To avoid complex and in some cases incorrect logic in kvm_spec_ctrl_test_value, just try the guest's given value on the host processor instead, and if it doesn't #GP, allow the guest to set it. One such case is when host CPU supports STIBP mitigation but doesn't support IBRS (as is the case with some Zen2 AMD cpus), and in this case we were giving guest #GP when it tried to use STIBP The reason why can can do the host test is that IA32_SPEC_CTRL msr is passed to the guest, after the guest sets it to a non zero value for the first time (due to performance reasons), and as as result of this, it is pointless to emulate #GP condition on this first access, in a different way than what the host CPU does. This is based on a patch from Sean Christopherson, who suggested this idea. Fixes: 6441fa6178f5 ("KVM: x86: avoid incorrect writes to host MSR_IA32_SPEC_CTRL") Cc: stable@vger.kernel.org Suggested-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> Message-Id: <20200708115731.180097-1-mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/9p')
0 files changed, 0 insertions, 0 deletions