[PATCH 6/8] net/nfp: fix null pointer dereference

Chaoyong He chaoyong.he at corigine.com
Thu Mar 14 08:05:34 CET 2024


CI found there are null pointer dereference in 'nfp_flow_merge_l4()'.

Coverity issue: 414942
Fixes: 94438b093702 ("net/nfp: support TCP/UDP/SCTP flow items")
Cc: stable at dpdk.org

Signed-off-by: Chaoyong He <chaoyong.he at corigine.com>
Reviewed-by: Long Wu <long.wu at corigine.com>
Reviewed-by: Peng Zhang <peng.zhang at corigine.com>
---
 drivers/net/nfp/nfp_net_flow.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/nfp/nfp_net_flow.c b/drivers/net/nfp/nfp_net_flow.c
index 251974edb4..ea743eed73 100644
--- a/drivers/net/nfp/nfp_net_flow.c
+++ b/drivers/net/nfp/nfp_net_flow.c
@@ -349,12 +349,15 @@ nfp_flow_merge_l4(struct rte_flow *nfp_flow,
 
 		ipv4->src_port = rte_be_to_cpu_16(spec->hdr.src_port);
 		ipv4->dst_port = rte_be_to_cpu_16(spec->hdr.dst_port);
-	} else {
+	} else if (ipv6 != NULL) {
 		ipv6->src_port_mask = rte_be_to_cpu_16(mask->hdr.src_port);
 		ipv6->dst_port_mask = rte_be_to_cpu_16(mask->hdr.dst_port);
 
 		ipv6->src_port = rte_be_to_cpu_16(spec->hdr.src_port);
 		ipv6->dst_port = rte_be_to_cpu_16(spec->hdr.dst_port);
+	} else {
+		PMD_DRV_LOG(ERR, "No valid L3 layer pointer.");
+		return -EINVAL;
 	}
 
 	return 0;
-- 
2.39.1



More information about the stable mailing list