DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] unnecessary null checks
@ 2026-07-28 14:11 Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 1/3] net/sxe2: remove unnecessary checks Stephen Hemminger
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Stephen Hemminger @ 2026-07-28 14:11 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Several drivers have unnecessary checks found by Coccinelle script 

Stephen Hemminger (3):
  net/sxe2: remove unnecessary checks
  net/gve: remove unnecessary check for NULL
  ml/cnxk: remove unnecessary NULL check

 drivers/ml/cnxk/tvmrt_ml_model.c    | 6 ++----
 drivers/net/gve/gve_rx.c            | 3 ++-
 drivers/net/sxe2/sxe2_cmd_chnl.c    | 6 ++----
 drivers/net/sxe2/sxe2_ethdev.c      | 3 +--
 drivers/net/sxe2/sxe2_ethdev_repr.c | 3 +--
 drivers/net/sxe2/sxe2_mp.c          | 3 +--
 drivers/net/sxe2/sxe2_rss.c         | 3 +--
 drivers/net/sxe2/sxe2_txrx_poll.c   | 3 +--
 8 files changed, 11 insertions(+), 19 deletions(-)

-- 
2.53.0


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

* [PATCH 1/3] net/sxe2: remove unnecessary checks
  2026-07-28 14:11 [PATCH 0/3] unnecessary null checks Stephen Hemminger
@ 2026-07-28 14:11 ` Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 2/3] net/gve: remove unnecessary check for NULL Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 3/3] ml/cnxk: remove unnecessary NULL check Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2026-07-28 14:11 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Jie Liu

The DPDK rte_free API already handles NULL pointer.
Found by cocci/nullfree.cocci script.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/sxe2/sxe2_cmd_chnl.c    | 6 ++----
 drivers/net/sxe2/sxe2_ethdev.c      | 3 +--
 drivers/net/sxe2/sxe2_ethdev_repr.c | 3 +--
 drivers/net/sxe2/sxe2_mp.c          | 3 +--
 drivers/net/sxe2/sxe2_rss.c         | 3 +--
 drivers/net/sxe2/sxe2_txrx_poll.c   | 3 +--
 6 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/drivers/net/sxe2/sxe2_cmd_chnl.c b/drivers/net/sxe2/sxe2_cmd_chnl.c
index b09989fe50..4c0e656423 100644
--- a/drivers/net/sxe2/sxe2_cmd_chnl.c
+++ b/drivers/net/sxe2/sxe2_cmd_chnl.c
@@ -263,8 +263,7 @@ int32_t sxe2_drv_rxq_ctxt_cfg(struct sxe2_adapter *adapter,
 		PMD_DEV_LOG_ERR(adapter, DRV, "rxq cfg failed, ret=%d", ret);
 
 l_end:
-	if (req)
-		rte_free(req);
+	rte_free(req);
 	return ret;
 }
 
@@ -320,8 +319,7 @@ int32_t sxe2_drv_txq_ctxt_cfg(struct sxe2_adapter *adapter,
 		PMD_DEV_LOG_ERR(adapter, DRV, "txq cfg failed, ret=%d", ret);
 
 l_end:
-	if (req)
-		rte_free(req);
+	rte_free(req);
 	return ret;
 }
 
diff --git a/drivers/net/sxe2/sxe2_ethdev.c b/drivers/net/sxe2/sxe2_ethdev.c
index 8bbfdc3a15..625365e31c 100644
--- a/drivers/net/sxe2/sxe2_ethdev.c
+++ b/drivers/net/sxe2/sxe2_ethdev.c
@@ -2063,8 +2063,7 @@ static int32_t sxe2_dev_uninit(struct rte_eth_dev *dev)
 			ret = rep_dev->dev_ops->dev_close(rep_dev);
 			if (ret)
 				goto l_end;
-			if (rep_dev->intr_handle)
-				rte_intr_instance_free(rep_dev->intr_handle);
+			rte_intr_instance_free(rep_dev->intr_handle);
 			ret = rte_eth_dev_release_port(rep_dev);
 			if (ret)
 				goto l_end;
diff --git a/drivers/net/sxe2/sxe2_ethdev_repr.c b/drivers/net/sxe2/sxe2_ethdev_repr.c
index f32318b731..86686ec548 100644
--- a/drivers/net/sxe2/sxe2_ethdev_repr.c
+++ b/drivers/net/sxe2/sxe2_ethdev_repr.c
@@ -594,8 +594,7 @@ int32_t sxe2_switchdev_repr_devs_init(struct sxe2_adapter *adapter,
 		struct rte_eth_dev *rep_dev = adapter->repr_ctxt.vf_rep_eth_dev[tmp_repr_idx];
 		if (rep_dev) {
 			sxe2_repr_dev_uinit(rep_dev);
-			if (rep_dev->intr_handle)
-				rte_intr_instance_free(rep_dev->intr_handle);
+			rte_intr_instance_free(rep_dev->intr_handle);
 			rte_eth_dev_release_port(rep_dev);
 			adapter->repr_ctxt.vf_rep_eth_dev[tmp_repr_idx] = NULL;
 		}
diff --git a/drivers/net/sxe2/sxe2_mp.c b/drivers/net/sxe2/sxe2_mp.c
index a4a5c76495..9aa5461a94 100644
--- a/drivers/net/sxe2/sxe2_mp.c
+++ b/drivers/net/sxe2/sxe2_mp.c
@@ -282,8 +282,7 @@ int32_t sxe2_mp_request_simple(struct rte_eth_dev *dev,
 	*result_out = ((struct sxe2_mp_param *)reply.msgs[0].param)->result;
 
 out:
-	if (reply.msgs != NULL)
-		free(reply.msgs);
+	free(reply.msgs);
 
 	return ret;
 }
diff --git a/drivers/net/sxe2/sxe2_rss.c b/drivers/net/sxe2/sxe2_rss.c
index 1d56613043..44e1ecda27 100644
--- a/drivers/net/sxe2/sxe2_rss.c
+++ b/drivers/net/sxe2/sxe2_rss.c
@@ -439,8 +439,7 @@ int32_t sxe2_dev_rss_reta_update(struct rte_eth_dev *dev,
 	rte_memcpy(rss_ctxt->rss_lut, lut_tmp, reta_size);
 
 l_end:
-	if (lut_tmp)
-		rte_free(lut_tmp);
+	rte_free(lut_tmp);
 	return ret;
 }
 
diff --git a/drivers/net/sxe2/sxe2_txrx_poll.c b/drivers/net/sxe2/sxe2_txrx_poll.c
index 21925f1cd4..5dcbac9953 100644
--- a/drivers/net/sxe2/sxe2_txrx_poll.c
+++ b/drivers/net/sxe2/sxe2_txrx_poll.c
@@ -1121,8 +1121,7 @@ uint16_t sxe2_rx_pkts_scattered_split(void *rx_queue, struct rte_mbuf **rx_pkts,
 			new_mbuf_pay = rte_mbuf_raw_alloc(rxq->rx_seg[1].mp);
 			if (unlikely(new_mbuf_pay == NULL)) {
 				rxq->vsi->adapter->dev_info.dev_data->rx_mbuf_alloc_failed++;
-				if (new_mbuf != NULL)
-					rte_pktmbuf_free(new_mbuf);
+				rte_pktmbuf_free(new_mbuf);
 				new_mbuf = NULL;
 				break;
 			}
-- 
2.53.0


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

* [PATCH 2/3] net/gve: remove unnecessary check for NULL
  2026-07-28 14:11 [PATCH 0/3] unnecessary null checks Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 1/3] net/sxe2: remove unnecessary checks Stephen Hemminger
@ 2026-07-28 14:11 ` Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 3/3] ml/cnxk: remove unnecessary NULL check Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2026-07-28 14:11 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Jeroen de Borst, Joshua Washington

Checking for NULL before calling rte_free is unnecessary.
Found by cocci/nullfree.cocci script.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/gve/gve_rx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/gve/gve_rx.c b/drivers/net/gve/gve_rx.c
index 567b82d020..932293ddad 100644
--- a/drivers/net/gve/gve_rx.c
+++ b/drivers/net/gve/gve_rx.c
@@ -205,8 +205,9 @@ gve_rx_burst(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 		if (gve_rx(rxq, rxd, rx_id)) {
 			if (!ctx->drop_pkt)
 				rx_pkts[nb_rx++] = ctx->mbuf_head;
-			else if (ctx->mbuf_head != NULL)
+			else {
 				rte_pktmbuf_free(ctx->mbuf_head);
+			}
 			rxq->nb_avail += ctx->total_frags;
 			gve_rx_ctx_clear(ctx);
 		}
-- 
2.53.0


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

* [PATCH 3/3] ml/cnxk: remove unnecessary NULL check
  2026-07-28 14:11 [PATCH 0/3] unnecessary null checks Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 1/3] net/sxe2: remove unnecessary checks Stephen Hemminger
  2026-07-28 14:11 ` [PATCH 2/3] net/gve: remove unnecessary check for NULL Stephen Hemminger
@ 2026-07-28 14:11 ` Stephen Hemminger
  2 siblings, 0 replies; 4+ messages in thread
From: Stephen Hemminger @ 2026-07-28 14:11 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Srikanth Yalavarthi

No need to check for NULL before calling rte_free.
Found by cocci/nullfree.cocci script.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/ml/cnxk/tvmrt_ml_model.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/ml/cnxk/tvmrt_ml_model.c b/drivers/ml/cnxk/tvmrt_ml_model.c
index 319c53a05b..90bb286822 100644
--- a/drivers/ml/cnxk/tvmrt_ml_model.c
+++ b/drivers/ml/cnxk/tvmrt_ml_model.c
@@ -133,10 +133,8 @@ tvmrt_ml_model_blob_parse(struct rte_ml_model_params *params, struct tvmrt_ml_mo
 	goto cleanup;
 
 error:
-	for (i = 0; i < ML_TVMRT_MODEL_OBJECT_MAX; i++) {
-		if (object[i].buffer != NULL)
-			rte_free(object[i].buffer);
-	}
+	for (i = 0; i < ML_TVMRT_MODEL_OBJECT_MAX; i++)
+		rte_free(object[i].buffer);
 
 cleanup:
 	archive_read_close(a);
-- 
2.53.0


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

end of thread, other threads:[~2026-07-28 14:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-28 14:11 [PATCH 0/3] unnecessary null checks Stephen Hemminger
2026-07-28 14:11 ` [PATCH 1/3] net/sxe2: remove unnecessary checks Stephen Hemminger
2026-07-28 14:11 ` [PATCH 2/3] net/gve: remove unnecessary check for NULL Stephen Hemminger
2026-07-28 14:11 ` [PATCH 3/3] ml/cnxk: remove unnecessary NULL check Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox