Hi,
> -----Original Message----- > From: dev <[email protected]> On Behalf Of Tal Shnaiderman > Sent: Wednesday, October 28, 2020 7:11 PM > To: [email protected] > Cc: NBU-Contact-Thomas Monjalon <[email protected]>; Matan Azrad > <[email protected]>; Shahaf Shuler <[email protected]>; Slava > Ovsiienko <[email protected]>; [email protected] > Subject: [dpdk-dev] [PATCH] mlx5/net: fix release of SQ resources in error > flow > > Fix in error flow in which the function mlx5_txq_release_devx_sq_resources > is called twice by setting the release object to NULL after the first call > > The incorrect flow was introduced in the work done on generic > object creation. > > Once an error flow inside mlx5_txq_create_devx_sq_resources > occurs the function will call mlx5_txq_release_devx_sq_resources > however the released pointers are not set to NULL after the release > calls and undefined memory is released in the same call in > mlx5_txq_release_devx_resources. > > This results in calls to MLX5_FREE with > an already released memory addresses and assert in mlx5_release_dbr: > > EAL: Error: Invalid memory > EAL: Error: Invalid memory > > PANIC in mlx5_txq_release_devx_sq_resources(): > assert "(mlx5_release_dbr(&txq_obj->txq_ctrl->priv->dbrpgs, > mlx5_os_get_umem_id (txq_obj->sq_dbrec_page->umem), > txq_obj->sq_dbrec_offset)) == 0" failed > > The fix is setting the released pointers to NULL after the first release > calls. > > Fixes: 86d259cec852 ("net/mlx5: separate Tx queue object creations") > Cc: [email protected] > > Signed-off-by: Tal Shnaiderman <[email protected]> > Acked-by: Matan Azrad <[email protected]> > --- > drivers/net/mlx5/mlx5_devx.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) > Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh

