hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()
[ Upstream commit5.4-rM2-2.2.x-imx-squashed8b97f99222
] Although it rarely happens, we should call free_capabilities() if error happens after read_capabilities() to free allocated strings. Fixes:de584afa5e
("hwmon driver for ACPI 4.0 power meters") Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com> Link: https://lore.kernel.org/r/20200625043242.31175-1-misono.tomohiro@jp.fujitsu.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
parent
3e7bd7e106
commit
c9426817ea
|
@ -883,7 +883,7 @@ static int acpi_power_meter_add(struct acpi_device *device)
|
||||||
|
|
||||||
res = setup_attrs(resource);
|
res = setup_attrs(resource);
|
||||||
if (res)
|
if (res)
|
||||||
goto exit_free;
|
goto exit_free_capability;
|
||||||
|
|
||||||
resource->hwmon_dev = hwmon_device_register(&device->dev);
|
resource->hwmon_dev = hwmon_device_register(&device->dev);
|
||||||
if (IS_ERR(resource->hwmon_dev)) {
|
if (IS_ERR(resource->hwmon_dev)) {
|
||||||
|
@ -896,6 +896,8 @@ static int acpi_power_meter_add(struct acpi_device *device)
|
||||||
|
|
||||||
exit_remove:
|
exit_remove:
|
||||||
remove_attrs(resource);
|
remove_attrs(resource);
|
||||||
|
exit_free_capability:
|
||||||
|
free_capabilities(resource);
|
||||||
exit_free:
|
exit_free:
|
||||||
kfree(resource);
|
kfree(resource);
|
||||||
exit:
|
exit:
|
||||||
|
|
Loading…
Reference in New Issue