security: fix session counter
Fix session counter to be decreased in rte_security_session_destroy only when session was successfully destroyed. Formerly session counter was decreased prior session destroying and returning session object to mempool. It remained decreased even if session was not destroyed and mempool object released making counter invalid. Fixes: c261d1431bd8 ("security: introduce security API and framework") Cc: stable@dpdk.org Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
parent
3139b9568b
commit
e36b5a87d6
@ -90,14 +90,16 @@ rte_security_session_destroy(struct rte_security_ctx *instance,
|
||||
-ENOTSUP);
|
||||
RTE_PTR_OR_ERR_RET(sess, -EINVAL);
|
||||
|
||||
ret = instance->ops->session_destroy(instance->device, sess);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
rte_mempool_put(rte_mempool_from_obj(sess), (void *)sess);
|
||||
|
||||
if (instance->sess_cnt)
|
||||
instance->sess_cnt--;
|
||||
|
||||
ret = instance->ops->session_destroy(instance->device, sess);
|
||||
if (!ret)
|
||||
rte_mempool_put(rte_mempool_from_obj(sess), (void *)sess);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
|
Loading…
x
Reference in New Issue
Block a user