android_kernel_samsung_msm8976/arch/x86/kvm
Marcelo Tosatti 8705bd42c9 KVM: VMX: fix use after free of vmx->loaded_vmcs
commit 26a865f4aa8e66a6d94958de7656f7f1b03c6c56 upstream.

After free_loaded_vmcs executes, the "loaded_vmcs" structure
is kfreed, and now vmx->loaded_vmcs points to a kfreed area.
Subsequent free_loaded_vmcs then attempts to manipulate
vmx->loaded_vmcs.

Switch the order to avoid the problem.

https://bugzilla.redhat.com/show_bug.cgi?id=1047892

Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-31 09:58:14 -07:00
..
cpuid.c KVM: x86: Make register state after reset conform to specification 2012-12-05 18:00:07 +02:00
cpuid.h Merge tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-12-13 15:31:08 -08:00
emulate.c KVM: x86: fix emulation of "movzbl %bpl, %eax" 2013-11-29 11:11:49 -08:00
i8254.c KVM: x86: limit PIT timer frequency 2014-02-06 11:08:12 -08:00
i8254.h KVM: fold kvm_pit_timer into kvm_kpit_state 2012-08-01 00:21:07 -03:00
i8259.c KVM: inject ExtINT interrupt before APIC interrupts 2012-12-13 23:05:21 -02:00
irq.c x86, apicv: add virtual interrupt delivery support 2013-01-29 10:48:19 +02:00
irq.h KVM: switch to symbolic name for irq_states size 2012-07-20 16:12:16 -03:00
Kconfig kvm: Allow build-time configuration of KVM device assignment 2013-04-28 12:58:56 +03:00
kvm_cache_regs.h KVM: MMU: Do not unconditionally read PDPTE from guest memory 2011-09-25 19:18:01 +03:00
lapic.c KVM: x86: limit PIT timer frequency 2014-02-06 11:08:12 -08:00
lapic.h KVM: x86: Convert vapic synchronization to _cached functions (CVE-2013-6368) 2013-12-20 07:45:07 -08:00
Makefile kvm: Allow build-time configuration of KVM device assignment 2013-04-28 12:58:56 +03:00
mmu.c KVM: x86: handle invalid root_hpa everywhere 2014-03-31 09:58:14 -07:00
mmu.h KVM: MMU: Rename kvm_mmu_free_some_pages() to make_mmu_pages_available() 2013-03-21 19:45:01 -03:00
mmu_audit.c KVM: do not release the error pfn 2012-08-06 16:04:57 +03:00
mmutrace.h KVM: mmu: remove unused trace event 2013-01-07 19:54:50 -02:00
paging_tmpl.h KVM: x86: handle invalid root_hpa everywhere 2014-03-31 09:58:14 -07:00
pmu.c pmu: prepare for migration support 2013-04-02 17:42:44 +03:00
svm.c KVM: SVM: fix cr8 intercept window 2014-03-23 21:38:18 -07:00
trace.h KVM: x86: require matched TSC offsets for master clock 2012-11-27 23:29:15 -02:00
tss.h
vmx.c KVM: VMX: fix use after free of vmx->loaded_vmcs 2014-03-31 09:58:14 -07:00
x86.c kvm: x86: fix emulator buffer overflow (CVE-2014-0049) 2014-03-06 21:30:06 -08:00
x86.h KVM: x86: limit PIT timer frequency 2014-02-06 11:08:12 -08:00