Re: [PATCH v1 1/1] ACPI: battery: Check for error code from devm_mutex_init() call
From: Rafael J. Wysocki
Date: Mon Nov 04 2024 - 11:56:45 EST
On Wed, Oct 30, 2024 at 5:42 PM Thomas Weißschuh <thomas@xxxxxxxxxxxxxx> wrote:
>
> Hi Andy,
>
> Oct 30, 2024 10:28:03 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>:
>
> > 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@xxxxxxxxxxxxxxx>
>
> Reviewed-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
Applied, thanks!
> > ---
> > 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
>