]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: x86: work around infinite loop in microcode when #AC is delivered
authorEric Northup <digitaleric@google.com>
Tue, 3 Nov 2015 17:03:53 +0000 (18:03 +0100)
committerZefan Li <lizefan@huawei.com>
Mon, 21 Mar 2016 01:17:55 +0000 (09:17 +0800)
commite1b6c3c95cbd3bb5947277e45cf4b7527020af11
treeef10c11ffb74649728b8d479ac7f05e76c77d378
parent59c8392ffcf3d6e39dcdd558e0354afc545f4c91
KVM: x86: work around infinite loop in microcode when #AC is delivered

commit 54a20552e1eae07aa240fa370a0293e006b5faed upstream.

It was found that a guest can DoS a host by triggering an infinite
stream of "alignment check" (#AC) exceptions.  This causes the
microcode to enter an infinite loop where the core never receives
another interrupt.  The host kernel panics pretty quickly due to the
effects (CVE-2015-5307).

Signed-off-by: Eric Northup <digitaleric@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[lizf: Backported to 3.4:
 - adjust filename
 - adjust context
 - add definition of AC_VECTOR]
Signed-off-by: Zefan Li <lizefan@huawei.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm.c
arch/x86/kvm/trace.h
arch/x86/kvm/vmx.c