android_kernel_samsung_msm8976/arch/x86
Andy Honig 9913f77411 KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367)
commit b963a22e6d1a266a67e9eecc88134713fd54775c upstream.

Under guest controllable circumstances apic_get_tmcct will execute a
divide by zero and cause a crash.  If the guest cpuid support
tsc deadline timers and performs the following sequence of requests
the host will crash.
- Set the mode to periodic
- Set the TMICT to 0
- Set the mode bits to 11 (neither periodic, nor one shot, nor tsc deadline)
- Set the TMICT to non-zero.
Then the lapic_timer.period will be 0, but the TMICT will not be.  If the
guest then reads from the TMCCT then the host will perform a divide by 0.

This patch ensures that if the lapic_timer.period is 0, then the division
does not occur.

Reported-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-20 07:45:07 -08:00
..
boot x86, efi: retry ExitBootServices() on failure 2013-07-21 18:21:27 -07:00
configs
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2013-06-21 06:28:39 -10:00
ia32 Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP 2013-09-26 17:18:13 -07:00
include x86: avoid remapping data in parse_setup_data() 2013-10-18 07:45:48 -07:00
kernel ftrace/x86: skip over the breakpoint for ftrace caller 2013-11-29 11:11:50 -08:00
kvm KVM: x86: Fix potential divide by 0 in lapic (CVE-2013-6367) 2013-12-20 07:45:07 -08:00
lguest Merge branch 'x86-paravirt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-04-30 08:41:21 -07:00
lib x86, smap: Handle csum_partial_copy_*_user() 2013-09-26 17:18:13 -07:00
math-emu
mm x86/mm: Fix boot crash with DEBUG_PAGE_ALLOC=y and more than 512G RAM 2013-09-07 22:09:58 -07:00
net
oprofile
pci x86/PCI: Map PCI setup data with ioremap() so it can be in highmem 2013-06-05 10:50:04 -06:00
platform x86, efi: Don't map Boot Services on i386 2013-10-05 07:13:10 -07:00
power x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
realmode
syscalls unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
tools x86, relocs: Move __vvar_page from S_ABS to S_REL 2013-06-12 15:14:57 -07:00
um
vdso
video
xen x86/xen: do not identity map UNUSABLE regions in the machine E820 2013-08-29 09:47:40 -07:00
.gitignore
Kbuild
Kconfig x86: fix build error and kconfig for ia32_emulation and binfmt 2013-06-18 16:20:32 -05:00
Kconfig.cpu
Kconfig.debug Kconfig: consolidate CONFIG_DEBUG_STRICT_USER_COPY_CHECKS 2013-04-30 17:04:09 -07:00
Makefile x86-64, build: Always pass in -mno-sse 2013-12-11 22:36:27 -08:00
Makefile.um
Makefile_32.cpu