This patch for 2.6.14-rc1 adds code to check the return value of
acpi_find_root_pointer(). Without this patch systems without ACPI support
such as QEMU crashes when booting a NUMA kernel with CONFIG_ACPI_SRAT=y.
Signed-off-by: Magnus Damm <[email protected]>
----
--- from-0002/arch/i386/kernel/srat.c
+++ to-0003/arch/i386/kernel/srat.c 2005-09-16 15:22:48.000000000 +0900
@@ -327,7 +327,12 @@ int __init get_memcfg_from_srat(void)
int tables = 0;
int i = 0;
- acpi_find_root_pointer(ACPI_PHYSICAL_ADDRESSING, rsdp_address);
+ if (ACPI_FAILURE(acpi_find_root_pointer(ACPI_PHYSICAL_ADDRESSING,
+ rsdp_address))) {
+ printk("%s: System description tables not found\n",
+ __FUNCTION__);
+ goto out_err;
+ }
if (rsdp_address->pointer_type == ACPI_PHYSICAL_POINTER) {
printk("%s: assigning address to rsdp\n", __FUNCTION__);