linux/drivers/crypto/ccp
Dinghao Liu 1e9d707233 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:35:16 -08:00
..
ccp-crypto-aes-cmac.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-aes-galois.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-aes-xts.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-aes.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-des3.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-main.c crypto: ccp - Use request_complete helpers 2023-02-13 18:34:49 +08:00
ccp-crypto-rsa.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08:00
ccp-crypto-sha.c crypto: ccp - Set DMA alignment explicitly 2022-12-09 18:45:00 +08: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-01-20 18:29:31 +08:00
ccp-ops.c crypto: ccp - fix memleak in ccp_init_dm_workarea 2024-01-25 15:35:16 -08:00
dbc.c crypto: ccp - Get a free page to use while fetching initial nonce 2023-11-20 11:59:18 +01:00
dbc.h crypto: ccp - Add support for getting and setting DBC parameters 2023-07-20 22:14:21 +12:00
Kconfig crypto: ccp -- don't "select" CONFIG_DMADEVICES 2020-04-16 16:49:22 +10:00
Makefile crypto: ccp - Add support for fetching a nonce for dynamic boost control 2023-07-20 22:14:21 +12:00
platform-access.c crypto: ccp - Validate that platform access mailbox registers are declared 2023-06-02 18:21:32 +08:00
platform-access.h crypto: ccp - Add support for ringing a platform doorbell 2023-03-17 11:16:43 +08:00
psp-dev.c crypto: ccp - Add support for fetching a nonce for dynamic boost control 2023-07-20 22:14:21 +12:00
psp-dev.h crypto: ccp - Add support for fetching a nonce for dynamic boost control 2023-07-20 22:14:21 +12:00
sev-dev.c - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
sev-dev.h crypto: ccp - Move some PSP mailbox bit definitions into common header 2023-03-17 11:16:43 +08: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 - Add support for fetching a nonce for dynamic boost control 2023-07-20 22:14:21 +12:00
sp-pci.c crypto: ccp - Add support for fetching a nonce for dynamic boost control 2023-07-20 22:14:21 +12: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 - Move some PSP mailbox bit definitions into common header 2023-03-17 11:16:43 +08:00
tee-dev.h crypto: ccp - fix command queuing to TEE ring buffer 2021-03-26 20:02:34 +11:00