All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Yang Yingliang <yangyingliang@huawei.com>
Cc: netdev@vger.kernel.org, aelior@marvell.com, skalluru@marvell.com,
	manishc@marvell.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com
Subject: Re: [PATCH net v2] bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending()
Date: Tue, 22 Nov 2022 14:23:40 +0200	[thread overview]
Message-ID: <Y3y/TF3ryvKH9BG6@unreal> (raw)
In-Reply-To: <20221119070202.1407648-1-yangyingliang@huawei.com>

On Sat, Nov 19, 2022 at 03:02:02PM +0800, Yang Yingliang wrote:
> As comment of pci_get_domain_bus_and_slot() says, it returns
> a pci device with refcount increment, when finish using it,
> the caller must decrement the reference count by calling
> pci_dev_put(). Call pci_dev_put() before returning from
> bnx2x_vf_is_pcie_pending() to avoid refcount leak.
> 
> Fixes: b56e9670ffa4 ("bnx2x: Prepare device and initialize VF database")
> Suggested-by: Jakub Kicinski <kuba@kernel.org>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
> v1 -> v2:
>   Unindents success path suggested by Jakub.
>   And Cc all pepole in the maintainer list.
> ---
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
> index 11d15cd03600..77d4cb4ad782 100644
> --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
> +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
> @@ -795,16 +795,20 @@ static void bnx2x_vf_enable_traffic(struct bnx2x *bp, struct bnx2x_virtf *vf)
>  
>  static u8 bnx2x_vf_is_pcie_pending(struct bnx2x *bp, u8 abs_vfid)
>  {
> -	struct pci_dev *dev;
>  	struct bnx2x_virtf *vf = bnx2x_vf_by_abs_fid(bp, abs_vfid);
> +	struct pci_dev *dev;
> +	bool pending;
>  
>  	if (!vf)
>  		return false;
>  
>  	dev = pci_get_domain_bus_and_slot(vf->domain, vf->bus, vf->devfn);
> -	if (dev)
> -		return bnx2x_is_pcie_pending(dev);
> -	return false;
> +	if (!dev)
> +		return false;
> +	pending = bnx2x_is_pcie_pending(dev);
> +	pci_dev_put(dev);
> +
> +	return pending;
>  }
>  

Thanks,
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>

  reply	other threads:[~2022-11-22 12:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-19  7:02 [PATCH net v2] bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending() Yang Yingliang
2022-11-22 12:23 ` Leon Romanovsky [this message]
2022-11-22 12:40 ` patchwork-bot+netdevbpf

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=Y3y/TF3ryvKH9BG6@unreal \
    --to=leon@kernel.org \
    --cc=aelior@marvell.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=manishc@marvell.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=skalluru@marvell.com \
    --cc=yangyingliang@huawei.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.