mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 2.6.12.4] ACPI oops during ipmi_si driver init
@ 2005-08-12 19:44 Peter Martuccelli
  2005-08-15 22:13 ` Bjorn Helgaas
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Martuccelli @ 2005-08-12 19:44 UTC (permalink / raw)
  To: len.brown; +Cc: akpm, linux-kernel, peterm


Hello Len,

Stumbled into this problem working on the ipmi_si driver.  When the
ipmi_si driver initialization fails the acpi_tb_get_table 
call, after rsdt_info has been allocated, acpi_get_firmware_table()
will oops trying to reference off rsdt_info->pointer in the cleanup
code.  The following patch resolves the problem.  I noticed this
problem on six different systems, all with slightly different stack
traces, but they all fail in the same manner. 

Patch applies cleanly to 2.6.12.4.  Tested at various sites and on
various systems, no additional problems detected.

Signed-off-by: peterm@redhat.com


Regards,

Peter

--- linux-2.6.9/drivers/acpi/tables/tbxfroot.c.orig	2005-08-11 23:44:01.000000000 -0400
+++ linux-2.6.9/drivers/acpi/tables/tbxfroot.c	2005-08-11 23:52:57.000000000 -0400
@@ -293,9 +293,12 @@ acpi_get_firmware_table (
 
 
 cleanup:
-	acpi_os_unmap_memory (rsdt_info->pointer, (acpi_size) rsdt_info->pointer->length);
-	ACPI_MEM_FREE (rsdt_info);
-
+	if (rsdt_info) {
+	        if (rsdt_info->pointer) {
+         		acpi_os_unmap_memory (rsdt_info->pointer, (acpi_size) rsdt_info->pointer->length);
+		}
+		ACPI_MEM_FREE (rsdt_info);
+	}
 	if (header) {
 		ACPI_MEM_FREE (header);
 	}

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-08-17 21:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-12 19:44 [PATCH 2.6.12.4] ACPI oops during ipmi_si driver init Peter Martuccelli
2005-08-15 22:13 ` Bjorn Helgaas
2005-08-16 20:50   ` Peter Martuccelli
2005-08-17 20:30     ` Corey Minyard
2005-08-17 21:09       ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®