mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
ACPI / APEI: Fix crash in apei_hest_parse() for acpi=off
After commit 92ef2a2
(ACPI: Change the ordering of PCI root bridge
driver registrarion), acpi_hest_init() is never called for acpi=off
(acpi_disabled), so hest_disable is not set, but hest_tab is NULL,
which causes apei_hest_parse() to crash when it is called from
aer_acpi_firmware_first().
Fix that by making apei_hest_parse() check if hest_tab is not NULL
in addition to checking hest_disable. Also remove the now useless
acpi_disabled check from apei_hest_parse().
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
3757b94802
commit
a84363d6fd
@ -89,7 +89,7 @@ int apei_hest_parse(apei_hest_func_t func, void *data)
|
||||
struct acpi_hest_header *hest_hdr;
|
||||
int i, rc, len;
|
||||
|
||||
if (hest_disable)
|
||||
if (hest_disable || !hest_tab)
|
||||
return -EINVAL;
|
||||
|
||||
hest_hdr = (struct acpi_hest_header *)(hest_tab + 1);
|
||||
@ -216,9 +216,6 @@ void __init acpi_hest_init(void)
|
||||
return;
|
||||
}
|
||||
|
||||
if (acpi_disabled)
|
||||
goto err;
|
||||
|
||||
status = acpi_get_table(ACPI_SIG_HEST, 0,
|
||||
(struct acpi_table_header **)&hest_tab);
|
||||
if (status == AE_NOT_FOUND)
|
||||
|
Loading…
Reference in New Issue
Block a user