From: Thomas Renninger Date: Fri, 29 Jan 2010 16:48:51 +0000 (+0100) Subject: ACPI: Add NULL pointer check in acpi_bus_start X-Git-Tag: firefly_0821_release~11625^2~11 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c51bfb22f31d384833e82a66872cccbab7c593df;p=firefly-linux-kernel-4.4.55.git ACPI: Add NULL pointer check in acpi_bus_start commit d2f6650a950dadd20667a04a9dc785f240d43695 upstream. 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: [] acpi_bus_start+0x14/0x24 ... [] acpiphp_bus_add+0xba/0x130 [acpiphp] [] enable_device+0x132/0x2ff [acpiphp] [] acpiphp_enable_slot+0xb8/0x130 [acpiphp] [] handle_hotplug_event_func+0x87/0x190 [acpiphp] Next patch would make this NULL pointer check obsolete, but better having one more than one missing... Signed-off-by: Thomas Renninger Acked-by: Bjorn Helgaas Signed-off-by: Len Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 14a7481c97d7..0b09703f06fc 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -1357,6 +1357,9 @@ int acpi_bus_start(struct acpi_device *device) { struct acpi_bus_ops ops; + if (!device) + return -EINVAL; + memset(&ops, 0, sizeof(ops)); ops.acpi_op_start = 1;