android_kernel_samsung_msm8976/arch/x86/kernel
Seunghun Han 94bee3919a x86/acpi: Prevent out of bound access caused by broken ACPI tables
The bus_irq argument of mp_override_legacy_irq() is used as the index into
the isa_irq_to_gsi[] array. The bus_irq argument originates from
ACPI_MADT_TYPE_IO_APIC and ACPI_MADT_TYPE_INTERRUPT items in the ACPI
tables, but is nowhere sanity checked.

That allows broken or malicious ACPI tables to overwrite memory, which
might cause malfunction, panic or arbitrary code execution.

Add a sanity check and emit a warning when that triggers.

[ tglx: Added warning and rewrote changelog ]

Signed-off-by: Seunghun Han <kkamagui@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: security@kernel.org
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: stable@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
CVE-2017-11473

Change-Id: I06eeb72e3207d795a87279ecfdd362e361f505f7
2019-07-27 21:51:30 +02:00
..
acpi x86/acpi: Prevent out of bound access caused by broken ACPI tables 2019-07-27 21:51:30 +02:00
apic x86/apic: Serialize LVTT and TSC_DEADLINE writes 2015-10-22 14:37:49 -07:00
cpu x86/MCE: Serialize sysfs changes 2019-07-27 21:51:20 +02:00
kprobes
.gitignore
alternative.c
amd_gart_64.c
amd_nb.c
apb_timer.c
aperture_64.c
apm_32.c
asm-offsets.c
asm-offsets_32.c
asm-offsets_64.c
audit_64.c
bootflag.c
check.c
cpuid.c
crash.c
crash_dump_32.c
crash_dump_64.c
devicetree.c
doublefault_32.c
dumpstack.c x86_64: add KASan support 2015-05-04 14:03:57 -07:00
dumpstack_32.c
dumpstack_64.c
e820.c
early-quirks.c
early_printk.c
entry_32.S
entry_64.S
espfix_64.c
ftrace.c
head.c
head32.c
head64.c This is the 3.10.98 stable release 2017-04-18 17:17:24 +02:00
head_32.S x86/asm/irq: Stop relying on magic JMP behavior for early_idt_handlers 2016-02-25 11:57:49 -08:00
head_64.S This is the 3.10.98 stable release 2017-04-18 17:17:24 +02:00
hpet.c
hw_breakpoint.c
i386_ksyms_32.c
i387.c
i8237.c
i8253.c
i8259.c
io_delay.c
ioport.c x86/iopl: Fix iopl capability check on Xen PV 2016-06-07 10:42:44 +02:00
irq.c
irq_32.c
irq_64.c
irq_work.c
irqinit.c
jump_label.c
kdebugfs.c
kgdb.c
kvm.c
kvmclock.c
ldt.c
machine_kexec_32.c
machine_kexec_64.c
Makefile x86_64: add KASan support 2015-05-04 14:03:57 -07:00
microcode_amd.c
microcode_core.c
microcode_core_early.c
microcode_intel.c
microcode_intel_early.c x86/microcode/intel: Guard against stack overflow in the loader 2015-07-03 19:48:09 -07:00
microcode_intel_lib.c
mmconf-fam10h_64.c
module.c x86, kaslr: randomize module base load address 2015-12-08 23:47:16 -08:00
mpparse.c
msr.c
nmi.c
nmi_selftest.c
paravirt-spinlocks.c
paravirt.c
paravirt_patch_32.c
paravirt_patch_64.c
pci-calgary_64.c
pci-dma.c
pci-iommu_table.c
pci-nommu.c
pci-swiotlb.c
pcspeaker.c
perf_regs.c
probe_roms.c
process.c
process_32.c
process_64.c x86/iopl/64: Properly context-switch IOPL on Xen PV 2016-06-07 10:42:43 +02:00
ptrace.c
pvclock.c
quirks.c
reboot.c This is the 3.10.96 stable release 2017-04-18 17:16:02 +02:00
reboot_fixups_32.c
relocate_kernel_32.S
relocate_kernel_64.S
resource.c
rtc.c
setup.c This is the 3.10.94 stable release 2017-04-18 17:12:56 +02:00
setup_percpu.c
signal.c x86/signal: Fix restart_syscall number for x32 tasks 2016-01-28 21:49:28 -08:00
smp.c
smpboot.c
stacktrace.c
step.c
sys_x86_64.c mm: larger stack guard gap, between vmas 2017-07-11 00:00:39 +00:00
syscall_32.c
syscall_64.c
tboot.c
tce_64.c
test_nx.c
test_rodata.c
time.c
tls.c
tls.h
topology.c
trace_clock.c
traps.c
tsc.c x86/platform: Fix Geode LX timekeeping in the generic x86 build 2015-10-22 14:37:49 -07:00
tsc_sync.c
uprobes.c
verify_cpu.S x86/cpu: Call verify_cpu() after having entered long mode too 2015-12-09 13:40:08 -05:00
vm86_32.c
vmlinux.lds.S
vsmp_64.c
vsyscall_64.c
vsyscall_emu_64.S
vsyscall_trace.h
x86_init.c
x8664_ksyms_64.c x86_64: kasan: add interceptors for memset/memmove/memcpy functions 2015-05-04 14:03:56 -07:00
xsave.c