net/mlx5: fix Multi-Packet RQ mempool free

Message ID 20181212111132.35983-1-yskoh@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers
Series net/mlx5: fix Multi-Packet RQ mempool free |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Yongseok Koh Dec. 12, 2018, 11:11 a.m. UTC
  When MPRQ mempool is freed, the pointer stored in priv structure must be
reset to null. Otherwise, the mempool can be freed again if the port is
restarted.

Fixes: 7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
Cc: stable@dpdk.org

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Shahaf Shuler Dec. 20, 2018, 6:55 a.m. UTC | #1
Wednesday, December 12, 2018 1:12 PM, Yongseok Koh:
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix Multi-Packet RQ mempool free
> 
> When MPRQ mempool is freed, the pointer stored in priv structure must be
> reset to null. Otherwise, the mempool can be freed again if the port is
> restarted.
> 
> Fixes: 7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Yongseok Koh <yskoh@mellanox.com>

Applied to next-net-mlx, thanks. 

> ---
>  drivers/net/mlx5/mlx5_rxq.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index
> 183da0e282..34c8338723 100644
> --- a/drivers/net/mlx5/mlx5_rxq.c
> +++ b/drivers/net/mlx5/mlx5_rxq.c
> @@ -1179,6 +1179,7 @@ mlx5_mprq_free_mp(struct rte_eth_dev *dev)
>  			continue;
>  		rxq->mprq_mp = NULL;
>  	}
> +	priv->mprq_mp = NULL;
>  	return 0;
>  }
> 
> --
> 2.11.0
  

Patch

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 183da0e282..34c8338723 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1179,6 +1179,7 @@  mlx5_mprq_free_mp(struct rte_eth_dev *dev)
 			continue;
 		rxq->mprq_mp = NULL;
 	}
+	priv->mprq_mp = NULL;
 	return 0;
 }