From: Manivannan Sadhasivam <mani@kernel.org>
To: Yang Yingliang <yangyingliang@huaweicloud.com>
Cc: ntb@lists.linux.dev, linux-pci@vger.kernel.org, jdmason@kudzu.us,
dave.jiang@intel.com, allenbh@gmail.com, lpieralisi@kernel.org,
kw@linux.com, mani@kernel.org, kishon@kernel.org,
bhelgaas@google.com, yangyingliang@huawei.com
Subject: Re: [PATCH 1/2] NTB: fix possible name leak in ntb_register_device()
Date: Fri, 16 Feb 2024 16:15:39 +0530 [thread overview]
Message-ID: <20240216104539.GA2559@thinkpad> (raw)
In-Reply-To: <20231201033057.1399131-1-yangyingliang@huaweicloud.com>
On Fri, Dec 01, 2023 at 11:30:56AM +0800, Yang Yingliang wrote:
> From: Yang Yingliang <yangyingliang@huawei.com>
>
> If device_register() returns error in ntb_register_device(),
> the name allocated by dev_set_name() need be freed. As comment
> of device_register() says, it should use put_device() to give
> up the reference in the error path. So fix this by calling
> put_device(), then the name can be freed in kobject_cleanup().
>
> Remove the outside put_device() in pci_vntb_probe() and return
> the error code.
>
> Fixes: a1bd3baeb2f1 ("NTB: Add NTB hardware abstraction layer")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Applied to pci/endpoint!
- Mani
> ---
> drivers/ntb/core.c | 8 +++++++-
> drivers/pci/endpoint/functions/pci-epf-vntb.c | 6 +-----
> 2 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/ntb/core.c b/drivers/ntb/core.c
> index 27dd93deff6e..d702bee78082 100644
> --- a/drivers/ntb/core.c
> +++ b/drivers/ntb/core.c
> @@ -100,6 +100,8 @@ EXPORT_SYMBOL(ntb_unregister_client);
>
> int ntb_register_device(struct ntb_dev *ntb)
> {
> + int ret;
> +
> if (!ntb)
> return -EINVAL;
> if (!ntb->pdev)
> @@ -120,7 +122,11 @@ int ntb_register_device(struct ntb_dev *ntb)
> ntb->ctx_ops = NULL;
> spin_lock_init(&ntb->ctx_lock);
>
> - return device_register(&ntb->dev);
> + ret = device_register(&ntb->dev);
> + if (ret)
> + put_device(&ntb->dev);
> +
> + return ret;
> }
> EXPORT_SYMBOL(ntb_register_device);
>
> diff --git a/drivers/pci/endpoint/functions/pci-epf-vntb.c b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> index 3f60128560ed..2b7bc5a731dd 100644
> --- a/drivers/pci/endpoint/functions/pci-epf-vntb.c
> +++ b/drivers/pci/endpoint/functions/pci-epf-vntb.c
> @@ -1278,15 +1278,11 @@ static int pci_vntb_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> ret = ntb_register_device(&ndev->ntb);
> if (ret) {
> dev_err(dev, "Failed to register NTB device\n");
> - goto err_register_dev;
> + return ret;
> }
>
> dev_dbg(dev, "PCI Virtual NTB driver loaded\n");
> return 0;
> -
> -err_register_dev:
> - put_device(&ndev->ntb.dev);
> - return -EINVAL;
> }
>
> static struct pci_device_id pci_vntb_table[] = {
> --
> 2.25.1
>
>
--
மணிவண்ணன் சதாசிவம்
prev parent reply other threads:[~2024-02-16 10:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-01 3:30 [PATCH 1/2] NTB: fix possible name leak in ntb_register_device() Yang Yingliang
2023-12-01 3:30 ` [PATCH 2/2] NTB: EPF: return error code in the error path in pci_vntb_probe() Yang Yingliang
2023-12-01 5:48 ` Manivannan Sadhasivam
2023-12-01 17:41 ` Dave Jiang
2023-12-05 9:59 ` Ilpo Järvinen
2023-12-01 5:48 ` [PATCH 1/2] NTB: fix possible name leak in ntb_register_device() Manivannan Sadhasivam
2023-12-01 17:41 ` Dave Jiang
2023-12-05 9:59 ` Ilpo Järvinen
2024-02-16 10:45 ` Manivannan Sadhasivam [this message]
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=20240216104539.GA2559@thinkpad \
--to=mani@kernel.org \
--cc=allenbh@gmail.com \
--cc=bhelgaas@google.com \
--cc=dave.jiang@intel.com \
--cc=jdmason@kudzu.us \
--cc=kishon@kernel.org \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=ntb@lists.linux.dev \
--cc=yangyingliang@huawei.com \
--cc=yangyingliang@huaweicloud.com \
/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.