* [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