[PATCH v1] net/iavf: fix refine protocol header error

Steve Yang stevex.yang at intel.com
Mon Oct 31 07:42:33 CET 2022


Protocol header count should be changed when tunnel level is larger than 1.

Fixes: 13a7dcddd8ee ("net/iavf: fix taninted scalar")

Signed-off-by: Steve Yang <stevex.yang at intel.com>
---
 drivers/net/iavf/iavf_hash.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c
index 71c80d2c75..67b05313eb 100644
--- a/drivers/net/iavf/iavf_hash.c
+++ b/drivers/net/iavf/iavf_hash.c
@@ -1210,7 +1210,7 @@ iavf_refine_proto_hdrs_by_pattern(struct virtchnl_proto_hdrs *proto_hdrs,
 	struct virtchnl_proto_hdr *hdr2;
 	int i, shift_count = 1;
 	int tun_lvl = proto_hdrs->tunnel_level;
-	int phdrs_count = proto_hdrs->count;
+	int phdrs_count = 0;
 
 	if (!(phint & IAVF_PHINT_GTPU_MSK) && !(phint & IAVF_PHINT_GRE))
 		return;
@@ -1219,6 +1219,7 @@ iavf_refine_proto_hdrs_by_pattern(struct virtchnl_proto_hdrs *proto_hdrs,
 		if (phint & IAVF_PHINT_LAYERS_MSK)
 			shift_count = 2;
 
+		phdrs_count = proto_hdrs->count;
 		/* shift headers layer */
 		for (i = phdrs_count - 1 + shift_count;
 		     i > shift_count - 1; i--) {
-- 
2.25.1



More information about the dev mailing list