[v2] net/iavf: fix device stop
Checks
Commit Message
Move security context destroy from device stop to device close function.
Deleting the context on device stop can prevent the application from
properly cleaning and releasing resources.
Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
v2: rebased to next-net-intel
drivers/net/iavf/iavf_ethdev.c | 6 +++---
drivers/net/iavf/iavf_ipsec_crypto.c | 2 --
2 files changed, 3 insertions(+), 5 deletions(-)
Comments
> -----Original Message-----
> From: Nicolau, Radu <radu.nicolau@intel.com>
> Sent: Monday, May 23, 2022 8:05 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Buckley, Daniel M <daniel.m.buckley@intel.com>; Zhang,
> Qi Z <qi.z.zhang@intel.com>; Nicolau, Radu <radu.nicolau@intel.com>;
> stable@dpdk.org
> Subject: [PATCH v2] net/iavf: fix device stop
>
> Move security context destroy from device stop to device close function.
> Deleting the context on device stop can prevent the application from
> properly cleaning and releasing resources.
>
> Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")
> Cc: stable@dpdk.org
>
> Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Applied to dpdk-next-net-intel.
Thanks
Qi
@@ -1088,9 +1088,6 @@ iavf_dev_stop(struct rte_eth_dev *dev)
iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
false);
- /* free iAVF security device context all related resources */
- iavf_security_ctx_destroy(adapter);
-
adapter->stopped = 1;
dev->data->dev_started = 0;
@@ -2713,6 +2710,9 @@ iavf_dev_close(struct rte_eth_dev *dev)
ret = iavf_dev_stop(dev);
adapter->closed = true;
+ /* free iAVF security device context all related resources */
+ iavf_security_ctx_destroy(adapter);
+
iavf_flow_flush(dev, NULL);
iavf_flow_uninit(adapter);
@@ -1551,8 +1551,6 @@ iavf_security_ctx_destroy(struct iavf_adapter *adapter)
if (iavf_sctx == NULL)
return -ENODEV;
- /* TODO: Add resources cleanup */
-
/* free and reset security data structures */
rte_free(iavf_sctx);
rte_free(sctx);