Re: [PATCH v1 1/1] ACPI: battery: Check for error code from devm_mutex_init() call

Thomas Weißschuh
2024-10-30T16:52:39Z

Hi Andy,

Oct 30, 2024 10:28:03 Andy Shevchenko <andriy.shevchenko@linux.intel.com>:

> Even if it's not critical, the avoidance of checking the error code
> from devm_mutex_init() call today diminishes the point of using devm
> variant of it. Tomorrow it may even leak something. Add the missed
> check.

Thanks!

Assuming you found this via some sort of tool and you already fixed up all the other places in the tree missing these checks,
wouldn't it make sense to mark devm_mutex_init() as __must_check?

> Fixes: 0710c1ce5045 ("ACPI: battery: initialize mutexes through devm_ APIs")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>

> ---
> drivers/acpi/battery.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
> index 66662712e288..70f706d7634f 100644
> --- a/drivers/acpi/battery.c
> +++ b/drivers/acpi/battery.c
> @@ -1226,8 +1226,12 @@ static int acpi_battery_add(struct acpi_device *device)
>     strscpy(acpi_device_name(device), ACPI_BATTERY_DEVICE_NAME);
>     strscpy(acpi_device_class(device), ACPI_BATTERY_CLASS);
>     device->driver_data = battery;
> -   devm_mutex_init(&device->dev, &battery->lock);
> -   devm_mutex_init(&device->dev, &battery->sysfs_lock);
> +   result = devm_mutex_init(&device->dev, &battery->lock);
> +   if (result)
> +       return result;
> +   result = devm_mutex_init(&device->dev, &battery->sysfs_lock);
> +   if (result)
> +       return result;
>     if (acpi_has_method(battery->device->handle, "_BIX"))
>         set_bit(ACPI_BATTERY_XINFO_PRESENT, &battery->flags);
>
> --
> 2.43.0.rc1.1336.g36b5255a03ac