[PATCH] net/nfp: fix parsing non-exist meta data

Chaoyong He chaoyong.he at corigine.com
Mon Apr 15 04:47:58 CEST 2024


From: Long Wu <long.wu at corigine.com>

If the packet without meta data, the initialization logic of
'meta->flags' will be skipped and lead to the wrong logic
because of 'meta->flags' has random value.

Fix it by make sure 'meta->flags' can be initialized in any situation.

Fixes: 5eed6ad5a7b9 ("net/nfp: use flag bits to control meta data parsing")
Cc: stable at dpdk.org

Signed-off-by: Long Wu <long.wu at corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he at corigine.com>
Reviewed-by: Peng Zhang <peng.zhang at corigine.com>
Reviewed-by: Zerun Fu <zerun.fu at corigine.com>
---
 drivers/net/nfp/nfp_net_meta.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/nfp/nfp_net_meta.c b/drivers/net/nfp/nfp_net_meta.c
index fa7e0d3d00..b31ef56f17 100644
--- a/drivers/net/nfp/nfp_net_meta.c
+++ b/drivers/net/nfp/nfp_net_meta.c
@@ -27,7 +27,6 @@ nfp_net_meta_parse_chained(uint8_t *meta_base,
 
 	meta_info = rte_be_to_cpu_32(meta_header);
 	meta_offset = meta_base + 4;
-	meta->flags = 0;
 
 	for (; meta_info != 0; meta_info >>= NFP_NET_META_FIELD_SIZE, meta_offset += 4) {
 		switch (meta_info & NFP_NET_META_FIELD_MASK) {
@@ -237,6 +236,8 @@ nfp_net_meta_parse(struct nfp_net_rx_desc *rxds,
 	uint8_t *meta_base;
 	rte_be32_t meta_header;
 
+	meta->flags = 0;
+
 	if (unlikely(NFP_DESC_META_LEN(rxds) == 0))
 		return;
 
-- 
2.39.1



More information about the stable mailing list