diff options
| author | Avi Kivity <[email protected]> | 2010-11-11 10:37:26 +0000 |
|---|---|---|
| committer | Marcelo Tosatti <[email protected]> | 2010-11-17 21:48:05 +0000 |
| commit | c8770e7ba63bb5dd8fe5f9d251275a8fa717fb78 (patch) | |
| tree | d10aad025730cf4138ee9cc1fc6c22d7984aaab7 /lib/dynamic_debug.c | |
| parent | KVM: Correct ordering of ldt reload wrt fs/gs reload (diff) | |
| download | kernel-c8770e7ba63bb5dd8fe5f9d251275a8fa717fb78.tar.gz kernel-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 <[email protected]>
Signed-off-by: Marcelo Tosatti <[email protected]>
Diffstat (limited to 'lib/dynamic_debug.c')
0 files changed, 0 insertions, 0 deletions
