Re: [PATCH] watchdog: Check dev_set_name() return value

From: Guenter Roeck
Date: Sun Sep 25 2022 - 10:44:29 EST


On Mon, Sep 19, 2022 at 10:03:12PM -0400, Bo Liu wrote:
> It's possible that dev_set_name() returns -ENOMEM, catch and handle this.
>
> Signed-off-by: Bo Liu <liubo03@xxxxxxxxxx>

Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> drivers/watchdog/watchdog_dev.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/watchdog_dev.c b/drivers/watchdog/watchdog_dev.c
> index 54903f3c851e..744b2ab75288 100644
> --- a/drivers/watchdog/watchdog_dev.c
> +++ b/drivers/watchdog/watchdog_dev.c
> @@ -1015,7 +1015,11 @@ static int watchdog_cdev_register(struct watchdog_device *wdd)
> wd_data->dev.groups = wdd->groups;
> wd_data->dev.release = watchdog_core_data_release;
> dev_set_drvdata(&wd_data->dev, wdd);
> - dev_set_name(&wd_data->dev, "watchdog%d", wdd->id);
> + err = dev_set_name(&wd_data->dev, "watchdog%d", wdd->id);
> + if (err) {
> + put_device(&wd_data->dev);
> + return err;
> + }
>
> kthread_init_work(&wd_data->work, watchdog_ping_work);
> hrtimer_init(&wd_data->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD);