KVM: x86 emulator: Fix task switch privilege checks
authorKevin Wolf <kwolf@redhat.com>
Wed, 8 Feb 2012 13:34:38 +0000 (14:34 +0100)
committerAvi Kivity <avi@redhat.com>
Thu, 8 Mar 2012 12:10:26 +0000 (14:10 +0200)
commit7f3d35fddd173e52886d03bc34b5b5d6f5bea343
tree9561913495a92c398b9b8e372d4e9a5c1d55c7f4
parent9cc815e46911486f52bec60517d0f7b40d323bbc
KVM: x86 emulator: Fix task switch privilege checks

Currently, all task switches check privileges against the DPL of the
TSS. This is only correct for jmp/call to a TSS. If a task gate is used,
the DPL of this take gate is used for the check instead. Exceptions,
external interrupts and iret shouldn't perform any check.

[avi: kill kvm-kmod remnants]

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/include/asm/kvm_emulate.h
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/emulate.c
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c