From: Anurag Mandal <[email protected]>
If mask buffer allocation fails in `iavf_hash_parse_raw_pattern()`,
the previously allocated packet buffer is leaked.
Free the packet buffer before returning the allocation error.
Fixes: bc0e85586eaf ("net/iavf: support VF RSS flow rule with raw pattern")
Cc: [email protected]
Signed-off-by: Anurag Mandal <[email protected]>
Signed-off-by: Anatoly Burakov <[email protected]>
---
Notes:
The API was removed in 92ef4b8f1688 ("ethdev: remove deprecated shared
counter attribute")
However, it may not be reasonable to pin a Fixline on that commit because
that
would imply that it *should have* updated ice driver's plubmbing to not
support
shared counters any more, which I do not believe is reasonable. I'm leaving
this note for posterity and in case it is determined that the Fixline is
needed
after all.
drivers/net/intel/iavf/iavf_hash.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/intel/iavf/iavf_hash.c
b/drivers/net/intel/iavf/iavf_hash.c
index 9515094402..a240c73614 100644
--- a/drivers/net/intel/iavf/iavf_hash.c
+++ b/drivers/net/intel/iavf/iavf_hash.c
@@ -918,8 +918,10 @@ iavf_hash_parse_raw_pattern(const struct rte_flow_item
*item,
return -ENOMEM;
msk_buf = rte_zmalloc(NULL, pkt_len, 0);
- if (!msk_buf)
+ if (!msk_buf) {
+ rte_free(pkt_buf);
return -ENOMEM;
+ }
/* convert string to int array */
for (i = 0, j = 0; i < spec_len; i += 2, j++) {
--
2.52.0