LKML Archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold}
@ 2024-04-30 22:47 Jules Irenge
  2024-05-02  6:28 ` Markus Elfring
  2024-05-05 12:13 ` Leon Romanovsky
  0 siblings, 2 replies; 3+ messages in thread
From: Jules Irenge @ 2024-04-30 22:47 UTC (permalink / raw
  To: leon; +Cc: jgg, wenglianfa, linux-rdma, linux-kernel, lishifeng, gustavoars

Coccinelle reports a warning

WARNING: NULL check before dev_{put, hold} functions is not needed

The reason is the call netdev_{put, hold} of dev_{put,hold} will check NULL
There is no need to check before using dev_{put, hold}

Signed-off-by: Jules Irenge <jbi.octave@gmail.com>
---
Changes in v2:
  - Merge two previous patches into one as directed 

 drivers/infiniband/core/device.c        | 10 +++-------
 drivers/infiniband/core/lag.c           |  3 +--
 drivers/infiniband/core/roce_gid_mgmt.c |  3 +--
 3 files changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
index 07cb6c5ffda0..55aa7aa32d4a 100644
--- a/drivers/infiniband/core/device.c
+++ b/drivers/infiniband/core/device.c
@@ -2174,8 +2174,7 @@ int ib_device_set_netdev(struct ib_device *ib_dev, struct net_device *ndev,
 	spin_unlock_irqrestore(&pdata->netdev_lock, flags);
 
 	add_ndev_hash(pdata);
-	if (old_ndev)
-		__dev_put(old_ndev);
+	__dev_put(old_ndev);
 
 	return 0;
 }
@@ -2235,8 +2234,7 @@ struct net_device *ib_device_get_netdev(struct ib_device *ib_dev,
 		spin_lock(&pdata->netdev_lock);
 		res = rcu_dereference_protected(
 			pdata->netdev, lockdep_is_held(&pdata->netdev_lock));
-		if (res)
-			dev_hold(res);
+		dev_hold(res);
 		spin_unlock(&pdata->netdev_lock);
 	}
 
@@ -2311,9 +2309,7 @@ void ib_enum_roce_netdev(struct ib_device *ib_dev,
 
 			if (filter(ib_dev, port, idev, filter_cookie))
 				cb(ib_dev, port, idev, cookie);
-
-			if (idev)
-				dev_put(idev);
+			dev_put(idev);
 		}
 }
 
diff --git a/drivers/infiniband/core/lag.c b/drivers/infiniband/core/lag.c
index eca6e37c72ba..8fd80adfe833 100644
--- a/drivers/infiniband/core/lag.c
+++ b/drivers/infiniband/core/lag.c
@@ -93,8 +93,7 @@ static struct net_device *rdma_get_xmit_slave_udp(struct ib_device *device,
 	slave = netdev_get_xmit_slave(master, skb,
 				      !!(device->lag_flags &
 					 RDMA_LAG_FLAGS_HASH_ALL_SLAVES));
-	if (slave)
-		dev_hold(slave);
+	dev_hold(slave);
 	rcu_read_unlock();
 	kfree_skb(skb);
 	return slave;
diff --git a/drivers/infiniband/core/roce_gid_mgmt.c b/drivers/infiniband/core/roce_gid_mgmt.c
index e958c43dd28f..d5131b3ba8ab 100644
--- a/drivers/infiniband/core/roce_gid_mgmt.c
+++ b/drivers/infiniband/core/roce_gid_mgmt.c
@@ -601,8 +601,7 @@ static void del_netdev_default_ips_join(struct ib_device *ib_dev, u32 port,
 
 	rcu_read_lock();
 	master_ndev = netdev_master_upper_dev_get_rcu(rdma_ndev);
-	if (master_ndev)
-		dev_hold(master_ndev);
+	dev_hold(master_ndev);
 	rcu_read_unlock();
 
 	if (master_ndev) {
-- 
2.43.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold}
  2024-04-30 22:47 [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold} Jules Irenge
@ 2024-05-02  6:28 ` Markus Elfring
  2024-05-05 12:13 ` Leon Romanovsky
  1 sibling, 0 replies; 3+ messages in thread
From: Markus Elfring @ 2024-05-02  6:28 UTC (permalink / raw
  To: Jules Irenge, linux-rdma, kernel-janitors, Leon Romanovsky
  Cc: LKML, Gustavo A. R. Silva, Jason Gunthorpe, Shifeng Li,
	wenglianfa

…
> There is no need to check before using dev_{put, hold}

How do you think about to improve the change description with a corresponding imperative wording?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.9-rc6#n94

Regards,
Markus

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold}
  2024-04-30 22:47 [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold} Jules Irenge
  2024-05-02  6:28 ` Markus Elfring
@ 2024-05-05 12:13 ` Leon Romanovsky
  1 sibling, 0 replies; 3+ messages in thread
From: Leon Romanovsky @ 2024-05-05 12:13 UTC (permalink / raw
  To: Jules Irenge
  Cc: jgg, wenglianfa, linux-rdma, linux-kernel, lishifeng, gustavoars


On Tue, 30 Apr 2024 23:47:45 +0100, Jules Irenge wrote:
> Coccinelle reports a warning
> 
> WARNING: NULL check before dev_{put, hold} functions is not needed
> 
> The reason is the call netdev_{put, hold} of dev_{put,hold} will check NULL
> There is no need to check before using dev_{put, hold}
> 
> [...]

Applied, thanks!

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

Best regards,
-- 
Leon Romanovsky <leon@kernel.org>


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-05-05 12:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-30 22:47 [PATCH v2] RDMA/core: Remove NULL check before dev_{put, hold} Jules Irenge
2024-05-02  6:28 ` Markus Elfring
2024-05-05 12:13 ` Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).