From: Gleb Natapov Date: Mon, 21 Jan 2013 13:36:48 +0000 (+0200) Subject: KVM: x86: fix use of uninitialized memory as segment descriptor in emulator. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=378a8b099fc207ddcb91b19a8c1457667e0af398;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git KVM: x86: fix use of uninitialized memory as segment descriptor in emulator. If VMX reports segment as unusable, zero descriptor passed by the emulator before returning. Such descriptor will be considered not present by the emulator. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti --- diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index e00dd0515a84..b9f55299ed7e 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -4489,8 +4489,10 @@ static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector, kvm_get_segment(emul_to_vcpu(ctxt), &var, seg); *selector = var.selector; - if (var.unusable) + if (var.unusable) { + memset(desc, 0, sizeof(*desc)); return false; + } if (var.g) var.limit >>= 12;