mirror of https://gitee.com/openkylin/linux.git
KVM: x86 emulator: Forbid modifying CS segment register by mov instruction
Inject #UD if guest attempts to do so. This is in accordance to Intel SDM. Cc: stable@kernel.org (2.6.33, 2.6.32) Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
70e335e168
commit
8b9f44140b
|
@ -2126,6 +2126,12 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops)
|
|||
int err;
|
||||
|
||||
sel = c->src.val;
|
||||
|
||||
if (c->modrm_reg == VCPU_SREG_CS) {
|
||||
kvm_queue_exception(ctxt->vcpu, UD_VECTOR);
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (c->modrm_reg == VCPU_SREG_SS)
|
||||
toggle_interruptibility(ctxt, X86_SHADOW_INT_MOV_SS);
|
||||
|
||||
|
|
Loading…
Reference in New Issue