Commit adcaaa72 authored by Tom Zanussi's avatar Tom Zanussi Committed by Xiaochen Shen
Browse files

crypto: iaa - Fix async_disable descriptor leak

mainline inclusion
from mainline-v6.9-rc1
commit 262534ddc88dfea7474ed18adfecf856e4fbe054
category: bugfix
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I9TA1S
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=262534ddc88dfea7474ed18adfecf856e4fbe054



--------------------------------

The disable_async paths of iaa_compress/decompress() don't free idxd
descriptors in the async_disable case. Currently this only happens in
the testcases where req->dst is set to null. Add a test to free them
in those paths.

Intel-SIG: commit 262534ddc88d crypto: iaa - Fix async_disable descriptor leak.
Backporting patches for Intel IAA crypto driver on Intel Xeon platform.

Signed-off-by: default avatarTom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarXiaochen Shen <xiaochen.shen@intel.com>
parent a8c383f2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1222,7 +1222,7 @@ static int iaa_compress(struct crypto_tfm *tfm, struct acomp_req *req,

	*compression_crc = idxd_desc->iax_completion->crc;

	if (!ctx->async_mode)
	if (!ctx->async_mode || disable_async)
		idxd_free_desc(wq, idxd_desc);
out:
	return ret;
@@ -1468,7 +1468,7 @@ static int iaa_decompress(struct crypto_tfm *tfm, struct acomp_req *req,

	*dlen = req->dlen;

	if (!ctx->async_mode)
	if (!ctx->async_mode || disable_async)
		idxd_free_desc(wq, idxd_desc);

	/* Update stats */