Commit c138a6c3bd0a ("net/i40e: validate raw flow items before
dereferencing") rejected raw flow items when spec and mask length
fields differ, intending to prevent out-of-bounds pattern access.
This breaks flows using the default rte_flow_item_raw_mask, which
sets mask.length to 0xffff regardless of the spec pattern size. Remove
the erroneous check.
Fixes: c138a6c3bd0a ("net/i40e: validate raw flow items before dereferencing")
Cc: [email protected]
Signed-off-by: Ciara Loftus <[email protected]>
---
drivers/net/intel/i40e/i40e_flow.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/drivers/net/intel/i40e/i40e_flow.c
b/drivers/net/intel/i40e/i40e_flow.c
index 84cfddb92d..78191a2d22 100644
--- a/drivers/net/intel/i40e/i40e_flow.c
+++ b/drivers/net/intel/i40e/i40e_flow.c
@@ -2360,13 +2360,6 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
"NULL RAW mask
pattern");
return -rte_errno;
}
- if (raw_spec->length != raw_mask->length) {
- rte_flow_error_set(error, EINVAL,
-
RTE_FLOW_ERROR_TYPE_ITEM,
- item,
- "RAW spec and mask
length mismatch");
- return -rte_errno;
- }
}
for (i = 0; i < raw_spec->length; i++) {
--
2.43.0