From b5fc3ade12a2aa709594f929c36eaea090947b8c Mon Sep 17 00:00:00 2001 From: Kishore Padmanabha Date: Fri, 9 Oct 2020 16:41:18 +0530 Subject: [PATCH] net/bnxt: fix corruption of session details The session details that is shared among multiple ports need to be outside the bnxt structure. Fixes: 70e64b27af5b ("net/bnxt: support ULP session manager cleanup") Cc: stable@dpdk.org Signed-off-by: Kishore Padmanabha Reviewed-by: Mike Baucom Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c index 289619411f..a4d48c71ad 100644 --- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c +++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c @@ -159,7 +159,9 @@ ulp_ctx_session_open(struct bnxt *bp, } if (!session->session_opened) { session->session_opened = 1; - session->g_tfp = &bp->tfp; + session->g_tfp = rte_zmalloc("bnxt_ulp_session_tfp", + sizeof(struct tf), 0); + session->g_tfp->session = bp->tfp.session; } return rc; } @@ -176,6 +178,7 @@ ulp_ctx_session_close(struct bnxt *bp, if (session->session_opened) tf_close_session(&bp->tfp); session->session_opened = 0; + rte_free(session->g_tfp); session->g_tfp = NULL; } -- 2.20.1