2023-10-24 00:38:40

by Yang Li

[permalink] [raw]
Subject: [PATCH -next] RDMA/core: Remove NULL check before dev_{put, hold}

The call netdev_{put, hold} of dev_{put, hold} will check NULL,
so there is no need to check before using dev_{put, hold},
remove it to silence the warning:

./drivers/infiniband/core/nldev.c:375:2-9: WARNING: NULL check before dev_{put, hold} functions is not needed.

Reported-by: Abaci Robot <[email protected]>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7047
Signed-off-by: Yang Li <[email protected]>
---
drivers/infiniband/core/nldev.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
index 87b8cd657fb3..4900a0848124 100644
--- a/drivers/infiniband/core/nldev.c
+++ b/drivers/infiniband/core/nldev.c
@@ -371,8 +371,7 @@ static int fill_port_info(struct sk_buff *msg,
}

out:
- if (netdev)
- dev_put(netdev);
+ dev_put(netdev);
return ret;
}

--
2.20.1.7.g153144c


2023-10-24 15:16:41

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH -next] RDMA/core: Remove NULL check before dev_{put, hold}

On Tue, Oct 24, 2023 at 08:38:15AM +0800, Yang Li wrote:
> The call netdev_{put, hold} of dev_{put, hold} will check NULL,
> so there is no need to check before using dev_{put, hold},
> remove it to silence the warning:
>
> ./drivers/infiniband/core/nldev.c:375:2-9: WARNING: NULL check before dev_{put, hold} functions is not needed.
>
> Reported-by: Abaci Robot <[email protected]>
> Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7047
> Signed-off-by: Yang Li <[email protected]>
> ---
> drivers/infiniband/core/nldev.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

I added the following hunk and applied the patch.

diff --git a/drivers/infiniband/core/lag.c b/drivers/infiniband/core/lag.c
index c77d7d2559a1..eca6e37c72ba 100644
--- a/drivers/infiniband/core/lag.c
+++ b/drivers/infiniband/core/lag.c
@@ -102,8 +102,7 @@ static struct net_device *rdma_get_xmit_slave_udp(struct ib_device *device,

void rdma_lag_put_ah_roce_slave(struct net_device *xmit_slave)
{
- if (xmit_slave)
- dev_put(xmit_slave);
+ dev_put(xmit_slave);
}

struct net_device *rdma_lag_get_ah_roce_slave(struct ib_device *device,
diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
index 343288b02792..a5e88185171f 100644
--- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
+++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c
@@ -1021,10 +1021,8 @@ static int pvrdma_pci_probe(struct pci_dev *pdev,
pvrdma_free_irq(dev);
pci_free_irq_vectors(pdev);
err_free_cq_ring:
- if (dev->netdev) {
- dev_put(dev->netdev);
- dev->netdev = NULL;
- }
+ dev_put(dev->netdev);
+ dev->netdev = NULL;
pvrdma_page_dir_cleanup(dev, &dev->cq_pdir);
err_free_async_ring:
pvrdma_page_dir_cleanup(dev, &dev->async_pdir);
@@ -1064,10 +1062,8 @@ static void pvrdma_pci_remove(struct pci_dev *pdev)

flush_workqueue(event_wq);

- if (dev->netdev) {
- dev_put(dev->netdev);
- dev->netdev = NULL;
- }
+ dev_put(dev->netdev);
+ dev->netdev = NULL;

/* Unregister ib device */
ib_unregister_device(&dev->ib_dev);
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index cf8b0822f5c8..967004ccad98 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -2005,8 +2005,7 @@ static void ipoib_ndo_uninit(struct net_device *dev)
priv->wq = NULL;
}

- if (priv->parent)
- dev_put(priv->parent);
+ dev_put(priv->parent);
}

static int ipoib_set_vf_link_state(struct net_device *dev, int vf, int link_state)

>
> diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
> index 87b8cd657fb3..4900a0848124 100644
> --- a/drivers/infiniband/core/nldev.c
> +++ b/drivers/infiniband/core/nldev.c
> @@ -371,8 +371,7 @@ static int fill_port_info(struct sk_buff *msg,
> }
>
> out:
> - if (netdev)
> - dev_put(netdev);
> + dev_put(netdev);
> return ret;
> }
>
> --
> 2.20.1.7.g153144c
>

2023-10-24 15:17:21

by Leon Romanovsky

[permalink] [raw]
Subject: Re: [PATCH -next] RDMA/core: Remove NULL check before dev_{put, hold}


On Tue, 24 Oct 2023 08:38:15 +0800, Yang Li wrote:
> The call netdev_{put, hold} of dev_{put, hold} will check NULL,
> so there is no need to check before using dev_{put, hold},
> remove it to silence the warning:
>
> ./drivers/infiniband/core/nldev.c:375:2-9: WARNING: NULL check before dev_{put, hold} functions is not needed.
>
>
> [...]

Applied, thanks!

[1/1] RDMA/core: Remove NULL check before dev_{put, hold}
https://git.kernel.org/rdma/rdma/c/7a1c2abf9a2be7

Best regards,
--
Leon Romanovsky <[email protected]>