KVM: Fix fs/gs reload oops with invalid ldt
authorAvi Kivity <avi@redhat.com>
Tue, 19 Oct 2010 14:46:55 +0000 (16:46 +0200)
committerMarcelo Tosatti <mtosatti@redhat.com>
Tue, 19 Oct 2010 16:21:45 +0000 (14:21 -0200)
commit9581d442b9058d3699b4be568b6e5eae38a41493
tree76d1b596d873514fdb9b3bf75d6d7b3cbfada85d
parent2b666ca4a68cbc22483b0f2e1ba3c0e59b01ae9e
KVM: Fix fs/gs reload oops with invalid ldt

kvm reloads the host's fs and gs blindly, however the underlying segment
descriptors may be invalid due to the user modifying the ldt after loading
them.

Fix by using the safe accessors (loadsegment() and load_gs_index()) instead
of home grown unsafe versions.

This is CVE-2010-3698.

KVM-Stable-Tag.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c