From: Rafael J. Wysocki Date: Tue, 11 Feb 2014 23:52:49 +0000 (+0100) Subject: ACPI / container: Fix error code path in container_device_attach() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=0f6aa09e40c38d734f5d70762056116ca4a76126;p=openwrt%2Fstaging%2Fblogic.git ACPI / container: Fix error code path in container_device_attach() To avoid leaking memory on errors from device_register(), do a put_device() on the device object in question in the error code path of container_device_attach(). Fixes: caa73ea158de (ACPI / hotplug / driver core: Handle containers in a special way) Signed-off-by: Rafael J. Wysocki Reviewed-by: Yasuaki Ishimatsu --- diff --git a/drivers/acpi/container.c b/drivers/acpi/container.c index 0b6ae6eb5c4a..368f9ddb8480 100644 --- a/drivers/acpi/container.c +++ b/drivers/acpi/container.c @@ -79,9 +79,10 @@ static int container_device_attach(struct acpi_device *adev, ACPI_COMPANION_SET(dev, adev); dev->release = acpi_container_release; ret = device_register(dev); - if (ret) + if (ret) { + put_device(dev); return ret; - + } adev->driver_data = dev; return 1; }