linux/drivers/crypto/ccp
Dinghao Liu f3a11fdd02 crypto: ccp - fix memleak in ccp_init_dm_workarea
[ Upstream commit a1c95dd5bc ]

When dma_map_single() fails, wa->address is supposed to be freed
by the callers of ccp_init_dm_workarea() through ccp_dm_free().
However, many of the call spots don't expect to have to call
ccp_dm_free() on failure of ccp_init_dm_workarea(), which may
lead to a memleak. Let's free wa->address in ccp_init_dm_workarea()
when dma_map_single() fails.

Fixes: 63b945091a ("crypto: ccp - CCP device driver and interface support")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-01-25 15:27:21 -08:00
..
ccp-crypto-aes-cmac.c crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
ccp-crypto-aes-galois.c crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
ccp-crypto-aes-xts.c crypto: drivers - set the flag CRYPTO_ALG_ALLOCATES_MEMORY 2020-07-16 21:49:10 +10:00
ccp-crypto-aes.c crypto: ccp - remove redundant ret variable 2022-01-31 11:21:36 +11:00
ccp-crypto-des3.c crypto: ccp - Remove the unneeded result variable 2022-09-30 13:57:50 +08:00
ccp-crypto-main.c crypto: ccp - Use DEFINE_SPINLOCK() for spinlock 2021-04-09 17:41:06 +10:00
ccp-crypto-rsa.c mm, treewide: rename kzfree() to kfree_sensitive() 2020-08-07 11:33:22 -07:00
ccp-crypto-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
ccp-crypto.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
ccp-debugfs.c crypto: ccp - Switch to SPDX license identifiers 2019-07-03 22:13:12 +08:00
ccp-dev-v3.c crypto: ccp - Make use of the helper macro kthread_run() 2021-10-29 21:04:04 +08:00
ccp-dev-v5.c crypto: ccp - Make use of the helper macro kthread_run() 2021-10-29 21:04:04 +08:00
ccp-dev.c crypto: ccp - no need to initialise statics to 0 2021-11-20 15:06:38 +11:00
ccp-dev.h crypto: ccp - fix typo in comment 2022-06-10 16:40:18 +08:00
ccp-dmaengine.c crypto: ccp - Failure on re-initialization due to duplicate sysfs filename 2023-03-10 09:32:56 +01:00
ccp-ops.c crypto: ccp - fix memleak in ccp_init_dm_workarea 2024-01-25 15:27:21 -08:00
Kconfig crypto: ccp -- don't "select" CONFIG_DMADEVICES 2020-04-16 16:49:22 +10:00
Makefile crypto: ccp - add TEE support for Raven Ridge 2019-12-20 14:58:32 +08:00
psp-dev.c crypto: ccp - Clear PSP interrupt status register before calling handler 2023-05-17 11:53:27 +02:00
psp-dev.h crypto: ccp - Export PSP security bits to userspace 2022-04-08 16:26:43 +08:00
sev-dev.c crypto: ccp - Name -1 return value as SEV_RET_NO_FW_CALL 2023-11-20 11:52:13 +01:00
sev-dev.h crypto: ccp: Use the stack and common buffer for INIT command 2021-04-21 12:20:07 -04:00
sp-dev.c crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions 2021-04-22 17:31:31 +10:00
sp-dev.h crypto: ccp - Make ccp_dev_suspend and ccp_dev_resume void functions 2021-04-22 17:31:31 +10:00
sp-pci.c crypto: ccp - Don't initialize CCP for PSP 0x1649 2023-05-11 23:03:02 +09:00
sp-platform.c crypto: ccp - Fix device IRQ counting by using platform_irq_count() 2022-06-24 17:09:01 +08:00
tee-dev.c crypto: ccp - fix command queuing to TEE ring buffer 2021-03-26 20:02:34 +11:00
tee-dev.h crypto: ccp - fix command queuing to TEE ring buffer 2021-03-26 20:02:34 +11:00