Skip to contentSkip to conversation

i386: srat on non-acpi hw fix

PATCH New Magnus Damm 1 participant 1 message Oct 26, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 i386: srat on non-acpi hw fix

This patch adds a check for 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.

---

arch/i386/kernel/srat.c +6 -1
diff -urNp linux-2.6.14-rc5-mm1/arch/i386/kernel/srat.c linux-2.6.14-rc5-mm1-i386_srat_non_acpi/arch/i386/kernel/srat.c
@@ -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__);