From: Dan Carpenter <error27@gmail.com>
To: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Gaosheng Cui <cuigaosheng1@huawei.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Maxime Ripard <mripard@kernel.org>,
Hector Martin <marcan@marcan.st>,
lkp@intel.com
Subject: Re: [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name()
Date: Thu, 5 Jan 2023 07:23:51 +0300 [thread overview]
Message-ID: <Y7ZQ173m4vsTBvhc@kili> (raw)
In-Reply-To: <E1pCkdQ-004hv8-7U@rmk-PC.armlinux.org.uk>
On Tue, Jan 03, 2023 at 04:59:32PM +0000, Russell King (Oracle) wrote:
> If dev_set_name() fails, we leak nvmem->wp_gpio as the cleanup does not
> put this. While a minimal fix for this would be to add the gpiod_put()
> call, we can do better if we split device_register(), and use the
> tested nvmem_release() cleanup code by initialising the device early,
> and putting the device.
>
> This results in a slightly larger fix, but results in clear code.
>
> Note: this patch depends on "nvmem: core: initialise nvmem->id early"
> and "nvmem: core: remove nvmem_config wp_gpio".
>
> Fixes: 5544e90c8126 ("nvmem: core: add error handling for dev_set_name")
> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---
> drivers/nvmem/core.c | 26 +++++++++++---------------
> 1 file changed, 11 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index 843e2f5696e6..19497f555e07 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -772,15 +772,17 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
>
> nvmem->id = rval;
>
> + nvmem->dev.type = &nvmem_provider_type;
> + nvmem->dev.bus = &nvmem_bus_type;
> + nvmem->dev.parent = config->dev;
> +
> + device_initialize(&nvmem->dev);
> +
> if (!config->ignore_wp)
> nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp",
> GPIOD_OUT_HIGH);
> - if (IS_ERR(nvmem->wp_gpio)) {
> - ida_free(&nvmem_ida, nvmem->id);
> - rval = PTR_ERR(nvmem->wp_gpio);
> - kfree(nvmem);
> - return ERR_PTR(rval);
> - }
> + if (IS_ERR(nvmem->wp_gpio))
> + goto err_put_device;
>
Missing error code. It still needs the rval = PTR_ERR(nvmem->wp_gpio);
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
regards,
dan carpenter
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <error27@gmail.com>
To: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
Bartosz Golaszewski <bgolaszewski@baylibre.com>,
Gaosheng Cui <cuigaosheng1@huawei.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Maxime Ripard <mripard@kernel.org>,
Hector Martin <marcan@marcan.st>,
lkp@intel.com
Subject: Re: [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name()
Date: Thu, 5 Jan 2023 07:23:51 +0300 [thread overview]
Message-ID: <Y7ZQ173m4vsTBvhc@kili> (raw)
In-Reply-To: <E1pCkdQ-004hv8-7U@rmk-PC.armlinux.org.uk>
On Tue, Jan 03, 2023 at 04:59:32PM +0000, Russell King (Oracle) wrote:
> If dev_set_name() fails, we leak nvmem->wp_gpio as the cleanup does not
> put this. While a minimal fix for this would be to add the gpiod_put()
> call, we can do better if we split device_register(), and use the
> tested nvmem_release() cleanup code by initialising the device early,
> and putting the device.
>
> This results in a slightly larger fix, but results in clear code.
>
> Note: this patch depends on "nvmem: core: initialise nvmem->id early"
> and "nvmem: core: remove nvmem_config wp_gpio".
>
> Fixes: 5544e90c8126 ("nvmem: core: add error handling for dev_set_name")
> Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
> ---
> drivers/nvmem/core.c | 26 +++++++++++---------------
> 1 file changed, 11 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index 843e2f5696e6..19497f555e07 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -772,15 +772,17 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
>
> nvmem->id = rval;
>
> + nvmem->dev.type = &nvmem_provider_type;
> + nvmem->dev.bus = &nvmem_bus_type;
> + nvmem->dev.parent = config->dev;
> +
> + device_initialize(&nvmem->dev);
> +
> if (!config->ignore_wp)
> nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp",
> GPIOD_OUT_HIGH);
> - if (IS_ERR(nvmem->wp_gpio)) {
> - ida_free(&nvmem_ida, nvmem->id);
> - rval = PTR_ERR(nvmem->wp_gpio);
> - kfree(nvmem);
> - return ERR_PTR(rval);
> - }
> + if (IS_ERR(nvmem->wp_gpio))
> + goto err_put_device;
>
Missing error code. It still needs the rval = PTR_ERR(nvmem->wp_gpio);
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
regards,
dan carpenter
next prev parent reply other threads:[~2023-01-05 18:59 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-03 16:58 [PATCH v3 0/5] Fix a whole host of nvmem registration/cleanup issues Russell King (Oracle)
2023-01-03 16:58 ` Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 1/5] nvmem: core: remove spurious white space Bartosz Golaszewski <bgolaszewski@baylibre.com>,Gaosheng Cui <cuigaosheng1@huawei.com>,Greg Kroah-Hartman <gregkh@linuxfoundation.org>,linux-arm-kernel@lists.infradead.org,linux-kernel@vger.kernel.org,Maxime Ripard <mripard@kernel.org>, Hector Martin <marcan@marcan.st> Russell King (Oracle)
2023-01-03 16:59 ` Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 2/5] nvmem: core: initialise nvmem->id early " Russell King (Oracle)
2023-01-03 16:59 ` Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 3/5] nvmem: core: remove nvmem_config wp_gpio " Russell King (Oracle)
2023-01-03 16:59 ` Russell King (Oracle)
2023-01-03 16:59 ` [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name() " Russell King (Oracle)
2023-01-03 16:59 ` Russell King (Oracle)
2023-01-05 4:23 ` Dan Carpenter [this message]
2023-01-05 4:23 ` [PATCH v3 4/5] nvmem: core: fix cleanup after dev_set_name() Dan Carpenter
2023-01-03 16:59 ` [PATCH v3 5/5] nvmem: core: fix registration vs use race Bartosz Golaszewski <bgolaszewski@baylibre.com>,Gaosheng Cui <cuigaosheng1@huawei.com>,Greg Kroah-Hartman <gregkh@linuxfoundation.org>,linux-arm-kernel@lists.infradead.org,linux-kernel@vger.kernel.org,Maxime Ripard <mripard@kernel.org>, Hector Martin <marcan@marcan.st> Russell King (Oracle)
2023-01-03 16:59 ` Russell King (Oracle)
2023-01-03 18:12 ` [PATCH v3 0/5] Fix a whole host of nvmem registration/cleanup issues Hector Martin
2023-01-03 18:12 ` Hector Martin
2023-01-03 20:56 ` Russell King (Oracle)
2023-01-03 20:56 ` Russell King (Oracle)
2023-01-10 16:25 ` Russell King (Oracle)
2023-01-10 16:25 ` Russell King (Oracle)
2023-01-13 11:55 ` Hector Martin
2023-01-13 11:55 ` Hector Martin
2023-01-03 21:15 ` Srinivas Kandagatla
2023-01-03 21:15 ` Srinivas Kandagatla
2023-01-04 1:15 ` Hector Martin
2023-01-04 1:15 ` Hector Martin
2023-01-04 10:29 ` Russell King (Oracle)
2023-01-04 10:29 ` Russell King (Oracle)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y7ZQ173m4vsTBvhc@kili \
--to=error27@gmail.com \
--cc=bgolaszewski@baylibre.com \
--cc=cuigaosheng1@huawei.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=marcan@marcan.st \
--cc=mripard@kernel.org \
--cc=rmk+kernel@armlinux.org.uk \
--cc=srinivas.kandagatla@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.