[PATCH 1/2] crypto/qat: fix uncleared cookies in asym

Arek Kusztal arkadiuszx.kusztal at intel.com
Wed Sep 28 17:58:10 CEST 2022


Fixed incorrectly placed clean function in asym response.

Fixes: 002486db239e ("crypto/qat: refactor asymmetric session")

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal at intel.com>
---
 drivers/crypto/qat/qat_asym.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/qat/qat_asym.c b/drivers/crypto/qat/qat_asym.c
index 19931791c4..4b0538eea8 100644
--- a/drivers/crypto/qat/qat_asym.c
+++ b/drivers/crypto/qat/qat_asym.c
@@ -906,6 +906,8 @@ qat_asym_process_response(void **out_op, uint8_t *resp,
 					" returned error");
 		}
 	}
+	if (op->status == RTE_CRYPTO_OP_STATUS_ERROR)
+		goto finalize;
 
 	switch (op->sess_type) {
 	case RTE_CRYPTO_OP_WITH_SESSION:
@@ -923,9 +925,10 @@ qat_asym_process_response(void **out_op, uint8_t *resp,
 	if (op->status == RTE_CRYPTO_OP_STATUS_NOT_PROCESSED) {
 		op->status = qat_asym_collect_response(op,
 					cookie, xform);
-		cleanup(cookie, xform, cookie->alg_bytesize);
 	}
 
+finalize:
+	cleanup(cookie, xform, cookie->alg_bytesize);
 	*out_op = op;
 	HEXDUMP("resp_msg:", resp_msg, sizeof(struct icp_qat_fw_pke_resp));
 
-- 
2.13.6



More information about the dev mailing list