linux/include/acpi
James Morse eeb2555779 ACPI / APEI: Don't store CPER records physical address in struct ghes
When CPER records are found the address of the records is stashed
in the struct ghes. Once the records have been processed, this
address is overwritten with zero so that it won't be processed
again without being re-populated by firmware.

This goes wrong if a struct ghes can be processed concurrently,
as can happen at probe time when an NMI occurs. If the NMI arrives
on another CPU, the probing CPU may call ghes_clear_estatus() on the
records before the handler had finished with them.
Even on the same CPU, once the interrupted handler is resumed, it
will call ghes_clear_estatus() on the NMIs records, this memory may
have already been re-used by firmware.

Avoid this stashing by letting the caller hold the address. A
later patch will do away with the use of ghes->flags in the
read/clear code too.

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>
2019-02-07 23:10:45 +01:00
..
platform ACPICA: Remove PCI bits from ACPICA when CONFIG_PCI is unset 2018-12-20 10:19:49 +01:00
acbuffer.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acconfig.h ACPICA: Update for field unit access 2018-10-04 09:06:27 +02:00
acexcep.h ACPICA: Update for generic_serial_bus and attrib_raw_process_bytes protocol 2018-10-04 09:06:27 +02:00
acnames.h ACPICA: Improve error messages for the namespace root node 2018-05-15 10:16:10 +02:00
acoutput.h ACPICA: Debug output: Add option to display method/object evaluation 2018-12-13 22:40:51 +01:00
acpi_bus.h pci-v4.20-changes 2018-10-25 06:50:48 -07:00
acpi_drivers.h PCI/ACPI: Allow ACPI to be built without CONFIG_PCI set 2018-12-20 10:19:49 +01:00
acpi_io.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi_lpat.h ACPI / LPAT: Common table processing functions 2015-01-29 21:02:10 +08:00
acpi_numa.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
acpi.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acpiosxf.h ACPICA: provide abstraction for raw_spinlock_t 2018-05-10 17:18:45 +02:00
acpixf.h ACPICA: Update version to 20181213 2018-12-13 22:40:51 +01:00
acrestyp.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
actbl1.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
actbl2.h ACPICA: IORT: Add PMCG node supprt 2018-06-06 08:53:42 +02:00
actbl3.h ACPICA: iASL: adding definition and disassembly for TPM2 revision 3 2018-11-08 18:41:47 +01:00
actbl.h ACPICA: disassembler: disassemble OEMx tables as AML 2018-12-13 22:40:51 +01:00
actypes.h ACPICA: disassembler: disassemble OEMx tables as AML 2018-12-13 22:40:51 +01:00
acuuid.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
apei.h Merge branches 'acpi-pmic', 'acpi-apei' and 'acpi-x86' 2017-11-13 01:37:17 +01:00
battery.h battery: Add the battery hooking API 2018-02-21 23:27:13 +01:00
button.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cppc_acpi.h x86/kernel: Fix more -Wmissing-prototypes warnings 2018-12-08 12:24:35 +01:00
ghes.h ACPI / APEI: Don't store CPER records physical address in struct ghes 2019-02-07 23:10:45 +01:00
hed.h ACPI Hardware Error Device (PNP0C33) support 2010-05-19 22:40:24 -04:00
nfit.h acpi, nfit: Add function to look up nvdimm device and provide SMBIOS handle 2018-03-14 12:43:50 +01:00
pcc.h mailbox: PCC: Move the MAX_PCC_SUBSPACES definition to header file 2017-11-09 00:39:53 +01:00
pdc_intel.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
processor.h ACPI / processor: Finish making acpi_processor_ppc_has_changed() void 2018-06-20 10:50:40 +02:00
reboot.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
video.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00