The mlx5_action_construct_data structure memory is managed by ipool
named acts_ipool.

The size of one entry in this ipool is mistakenly defined as size of
rte_flow_hw structure.
This size is used to reset in the allocated part. When the size is
incorrect it resets memory that does not belong to it.

This patch defines the correct size.

Fixes: f13fab23922b ("net/mlx5: add flow jump action")
Cc: suanmi...@nvidia.com
Cc: sta...@dpdk.org

Signed-off-by: Michael Baum <michae...@nvidia.com>
Acked-by: Matan Azrad <ma...@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_hw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 2c2bd0feef..12498794a5 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -2044,7 +2044,7 @@ flow_hw_configure(struct rte_eth_dev *dev,
        struct mlx5_hw_q_job *job = NULL;
        uint32_t mem_size, i, j;
        struct mlx5_indexed_pool_config cfg = {
-               .size = sizeof(struct rte_flow_hw),
+               .size = sizeof(struct mlx5_action_construct_data),
                .trunk_size = 4096,
                .need_lock = 1,
                .release_mem_en = !!priv->sh->config.reclaim_mode,
-- 
2.25.1

Reply via email to