* [dpdk-stable] [PATCH] net/sfc: fix passing wrong buffer size
@ 2021-02-26 14:10 Ivan Malov
2021-02-26 15:47 ` Ferruh Yigit
0 siblings, 1 reply; 2+ messages in thread
From: Ivan Malov @ 2021-02-26 14:10 UTC (permalink / raw)
To: dev; +Cc: stable, Andrew Rybchenko, Andy Moreton
Pass the size of the buffer where the item's mask
is stored and not the indirection pointer size.
Coverity issue: 363735
Fixes: dadff137931c ("net/sfc: support encap flow items in transfer rules")
Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
drivers/net/sfc/sfc_mae.c | 20 +++++++++-----------
drivers/net/sfc/sfc_mae.h | 3 ++-
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index 7deccc9c60..7189a34140 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -1696,7 +1696,6 @@ sfc_mae_rule_parse_item_tunnel(const struct rte_flow_item *item,
uint8_t supp_mask[sizeof(uint64_t)];
const uint8_t *spec = NULL;
const uint8_t *mask = NULL;
- const void *def_mask;
int rc;
/*
@@ -1718,12 +1717,11 @@ sfc_mae_rule_parse_item_tunnel(const struct rte_flow_item *item,
* sfc_mae_rule_encap_parse_init(). Default mask
* was also picked by that helper. Use it here.
*/
- def_mask = ctx_mae->tunnel_def_mask;
-
rc = sfc_flow_parse_init(item,
(const void **)&spec, (const void **)&mask,
- (const void *)&supp_mask, def_mask,
- sizeof(def_mask), error);
+ (const void *)&supp_mask,
+ ctx_mae->tunnel_def_mask,
+ ctx_mae->tunnel_def_mask_size, error);
if (rc != 0)
return rc;
@@ -1957,20 +1955,20 @@ sfc_mae_rule_encap_parse_init(struct sfc_adapter *sa,
case RTE_FLOW_ITEM_TYPE_VXLAN:
ctx->encap_type = EFX_TUNNEL_PROTOCOL_VXLAN;
ctx->tunnel_def_mask = &rte_flow_item_vxlan_mask;
- RTE_BUILD_BUG_ON(sizeof(ctx->tunnel_def_mask) !=
- sizeof(rte_flow_item_vxlan_mask));
+ ctx->tunnel_def_mask_size =
+ sizeof(rte_flow_item_vxlan_mask);
break;
case RTE_FLOW_ITEM_TYPE_GENEVE:
ctx->encap_type = EFX_TUNNEL_PROTOCOL_GENEVE;
ctx->tunnel_def_mask = &rte_flow_item_geneve_mask;
- RTE_BUILD_BUG_ON(sizeof(ctx->tunnel_def_mask) !=
- sizeof(rte_flow_item_geneve_mask));
+ ctx->tunnel_def_mask_size =
+ sizeof(rte_flow_item_geneve_mask);
break;
case RTE_FLOW_ITEM_TYPE_NVGRE:
ctx->encap_type = EFX_TUNNEL_PROTOCOL_NVGRE;
ctx->tunnel_def_mask = &rte_flow_item_nvgre_mask;
- RTE_BUILD_BUG_ON(sizeof(ctx->tunnel_def_mask) !=
- sizeof(rte_flow_item_nvgre_mask));
+ ctx->tunnel_def_mask_size =
+ sizeof(rte_flow_item_nvgre_mask);
break;
case RTE_FLOW_ITEM_TYPE_END:
break;
diff --git a/drivers/net/sfc/sfc_mae.h b/drivers/net/sfc/sfc_mae.h
index 2822afce31..cbe4fd8e9f 100644
--- a/drivers/net/sfc/sfc_mae.h
+++ b/drivers/net/sfc/sfc_mae.h
@@ -274,7 +274,8 @@ struct sfc_mae_parse_ctx {
* which part of the pattern is being parsed.
*/
const efx_mae_field_id_t *field_ids_remap;
- /* This points to a tunnel-specific default mask. */
+ /* These two fields correspond to the tunnel-specific default mask. */
+ size_t tunnel_def_mask_size;
const void *tunnel_def_mask;
bool match_mport_set;
struct sfc_mae_pattern_data pattern_data;
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-stable] [PATCH] net/sfc: fix passing wrong buffer size
2021-02-26 14:10 [dpdk-stable] [PATCH] net/sfc: fix passing wrong buffer size Ivan Malov
@ 2021-02-26 15:47 ` Ferruh Yigit
0 siblings, 0 replies; 2+ messages in thread
From: Ferruh Yigit @ 2021-02-26 15:47 UTC (permalink / raw)
To: Ivan Malov, dev; +Cc: stable, Andrew Rybchenko, Andy Moreton
On 2/26/2021 2:10 PM, Ivan Malov wrote:
> Pass the size of the buffer where the item's mask
> is stored and not the indirection pointer size.
>
> Coverity issue: 363735
> Fixes: dadff137931c ("net/sfc: support encap flow items in transfer rules")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
Applied to dpdk-next-net/main, thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-26 15:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-26 14:10 [dpdk-stable] [PATCH] net/sfc: fix passing wrong buffer size Ivan Malov
2021-02-26 15:47 ` Ferruh Yigit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).