Commit a84363d6 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

ACPI / APEI: Fix crash in apei_hest_parse() for acpi=off



After commit 92ef2a25 (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: default avatarThomas Gleixner <tglx@linutronix.de>
Tested-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 3757b948
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -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)