Skip to contentSkip to conversation

ACPI: Add NULL pointer check in acpi_bus_start

PATCH Applied Thomas Renninger 2 participants 2 messages Jan 29, 2010 – Feb 1, 2010 ACPI

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ACPI: Add NULL pointer check in acpi_bus_start

If acpi_bus_add does not return a device and it's passed to acpi_bus_start, bad things will happen:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
IP: [<ffffffff8128402d>] acpi_bus_start+0x14/0x24
...
[<ffffffffa008977a>] acpiphp_bus_add+0xba/0x130 [acpiphp]
[<ffffffffa008aa72>] enable_device+0x132/0x2ff [acpiphp]
[<ffffffffa0089b68>] acpiphp_enable_slot+0xb8/0x130 [acpiphp]
[<ffffffffa0089df7>] handle_hotplug_event_func+0x87/0x190 [acpiphp]

Next patch would make this NULL pointer check obsolete, but better having one more than one missing...

---
 drivers/acpi/scan.c |    3 +++
 1 file changed, 3 insertions(+)
drivers/acpi/scan.c +3 -0
Index: linux-2.6.32-SLE11-SP1/drivers/acpi/scan.c
===================================================================
@@ -1382,6 +1382,9 @@ int acpi_bus_start(struct acpi_device *d
 {
 	struct acpi_bus_ops ops;
 
+	if (!device)
+		return -EINVAL;
+
 	memset(&ops, 0, sizeof(ops));
 	ops.acpi_op_start = 1;
 
reviewer Applied
#1 lore raw

applied

thanks,
Len Brown, Intel Open Source Technology Center