summaryrefslogtreecommitdiffstats
path: root/arch/x86/vdso/vdso.S
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-07-06 11:30:49 +0300
committerAvi Kivity <avi@redhat.com>2010-07-06 11:41:31 +0300
commitda38f43859467a8048365b9e1cce99ccbc62b6e2 (patch)
treeb36e9200ded220e1e7499dad8f64c742db451088 /arch/x86/vdso/vdso.S
parent815c4163b6c8ebf8152f42b0a5fd015cfdcedc78 (diff)
KVM: VMX: Fix host MSR_KERNEL_GS_BASE corruption
enter_lmode() and exit_lmode() modify the guest's EFER.LMA before calling vmx_set_efer(). However, the latter function depends on the value of EFER.LMA to determine whether MSR_KERNEL_GS_BASE needs reloading, via vmx_load_host_state(). With EFER.LMA changing under its feet, it took the wrong choice and corrupted userspace's %gs. This causes 32-on-64 host userspace to fault. Fix not touching EFER.LMA; instead ask vmx_set_efer() to change it. Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/vdso/vdso.S')
0 files changed, 0 insertions, 0 deletions