diff options
author | Avi Kivity <avi@redhat.com> | 2010-11-11 12:37:26 +0200 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-11-17 19:48:05 -0200 |
commit | c8770e7ba63bb5dd8fe5f9d251275a8fa717fb78 (patch) | |
tree | d10aad025730cf4138ee9cc1fc6c22d7984aaab7 /ipc/ipc_sysctl.c | |
parent | 0a77fe4c188e25917799f2356d4aa5e6d80c39a2 (diff) | |
download | blackbird-op-linux-c8770e7ba63bb5dd8fe5f9d251275a8fa717fb78.tar.gz blackbird-op-linux-c8770e7ba63bb5dd8fe5f9d251275a8fa717fb78.zip |
KVM: VMX: Fix host userspace gsbase corruption
We now use load_gs_index() to load gs safely; unfortunately this also
changes MSR_KERNEL_GS_BASE, which we managed separately. This resulted
in confusion and breakage running 32-bit host userspace on a 64-bit kernel.
Fix by
- saving guest MSR_KERNEL_GS_BASE before we we reload the host's gs
- doing the host save/load unconditionally, instead of only when in guest
long mode
Things can be cleaned up further, but this is the minmal fix for now.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'ipc/ipc_sysctl.c')
0 files changed, 0 insertions, 0 deletions