* [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 +--
| 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;
}
--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