summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2018-09-24 17:23:01 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2018-09-24 18:34:13 +0200
commit4679b61f2640e07724507fcd9dc070517bc6e6cb (patch)
treea4d50f6a3e19a684d9d4c01fa0834e2e4aec92a9 /ipc
parenta27fb6d983c7b5bb0129ae4d7a7c81758173bfab (diff)
KVM: x86: never trap MSR_KERNEL_GS_BASE
KVM has an old optimization whereby accesses to the kernel GS base MSR are trapped when the guest is in 32-bit and not when it is in 64-bit mode. The idea is that swapgs is not available in 32-bit mode, thus the guest has no reason to access the MSR unless in 64-bit mode and 32-bit applications need not pay the price of switching the kernel GS base between the host and the guest values. However, this optimization adds complexity to the code for little benefit (these days most guests are going to be 64-bit anyway) and in fact broke after commit 678e315e78a7 ("KVM: vmx: add dedicated utility to access guest's kernel_gs_base", 2018-08-06); the guest kernel GS base can be corrupted across SMIs and UEFI Secure Boot is therefore broken (a secure boot Linux guest, for example, fails to reach the login prompt about half the time). This patch just removes the optimization; the kernel GS base MSR is now never trapped by KVM, similarly to the FS and GS base MSRs. Fixes: 678e315e78a780dbef384b92339c8414309dbc11 Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions