android_kernel_samsung_a7y1.../drivers/acpi
James Morse 4479fb40d2 ACPI / APEI: Switch estatus pool to use vmalloc memory
[ Upstream commit 0ac234be1a9497498e57d958f4251f5257b116b4 ]

The ghes code is careful to parse and round firmware's advertised
memory requirements for CPER records, up to a maximum of 64K.
However when ghes_estatus_pool_expand() does its work, it splits
the requested size into PAGE_SIZE granules.

This means if firmware generates 5K of CPER records, and correctly
describes this in the table, __process_error() will silently fail as it
is unable to allocate more than PAGE_SIZE.

Switch the estatus pool to vmalloc() memory. On x86 vmalloc() memory
may fault and be fixed up by vmalloc_fault(). To prevent this call
vmalloc_sync_all() before an NMI handler could discover the memory.

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-04-07 12:43:08 +02:00
..
acpica
apei ACPI / APEI: Switch estatus pool to use vmalloc memory 2020-04-07 12:43:08 +02:00
pmic
ac.c
acpi_apd.c
acpi_cmos_rtc.c
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpss.c ACPI / LPSS: Ignore acpi_device_fix_up_power() return value 2020-04-07 12:41:18 +02:00
acpi_memhotplug.c
acpi_pad.c
acpi_platform.c
acpi_pnp.c
acpi_processor.c
acpi_video.c
battery.c
battery.h
bgrt.c
blacklist.c
bus.c
button.c
cm_sbs.c
container.c
cppc_acpi.c
custom_method.c
debugfs.c
device_pm.c
device_sysfs.c
dock.c
ec_sys.c
ec.c
event.c
fan.c
glue.c
gsi.c
hed.c
int340x_thermal.c
internal.h
ioapic.c
Kconfig
Makefile
nfit.c
nfit.h
numa.c
nvs.c
osl.c ACPI / SBS: Fix rare oops when removing modules 2020-04-07 12:32:57 +02:00
pci_irq.c
pci_link.c
pci_root.c
pci_slot.c
power.c
proc.c
processor_core.c
processor_driver.c
processor_idle.c
processor_pdc.c
processor_perflib.c
processor_thermal.c
processor_throttling.c
property.c
reboot.c
resource.c
sbs.c
sbshc.c ACPI / SBS: Fix rare oops when removing modules 2020-04-07 12:32:57 +02:00
sbshc.h
scan.c
sleep.c
sleep.h
sysfs.c
tables.c
thermal.c
utils.c
video_detect.c
wakeup.c