linux-stable/drivers/crypto
Herbert Xu 6396b33e98 crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak
commit d3b17c6d9d upstream.

Using completion_done to determine whether the caller has gone
away only works after a complete call.  Furthermore it's still
possible that the caller has not yet called wait_for_completion,
resulting in another potential UAF.

Fix this by making the caller use cancel_work_sync and then freeing
the memory safely.

Fixes: 7d42e09760 ("crypto: qat - resolve race condition during AER recovery")
Cc: <stable@vger.kernel.org> #6.8+
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-06-16 13:28:51 +02:00
..
amcc crypto: crypto4xx - Call dma_unmap_page when done 2023-03-11 16:43:42 +01:00
axis
bcm crypto: bcm - Fix pointer arithmetic 2024-06-16 13:28:32 +02:00
caam crypto: caam/jr - fix Chacha20 + Poly1305 self test failure 2023-11-20 10:30:12 +01:00
cavium crypto: cavium - prevent integer overflow loading firmware 2022-10-26 13:22:46 +02:00
ccp crypto: ccp - drop platform ifdef checks 2024-06-16 13:28:32 +02:00
ccree crypto: ccree - Make cc_debugfs_global_fini() available for module init function 2023-01-18 11:41:18 +01:00
chelsio chtls: fix tp->rcv_tstamp initialization 2023-11-20 10:30:09 +01:00
hisilicon crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq 2022-08-25 11:17:42 +02:00
inside-secure crypto: safexcel - Cleanup ring IRQ workqueues on load failure 2023-05-17 11:35:58 +02:00
marvell crypto: marvell/cesa - Fix type mismatch warning 2023-07-27 08:37:18 +02:00
mediatek
nx crypto: nx - fix build warnings when DEBUG_FS is not enabled 2023-07-27 08:37:18 +02:00
qat crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak 2024-06-16 13:28:51 +02:00
qce crypto: qce - fix uaf on qce_ahash_register_one 2022-01-27 09:19:30 +01:00
rockchip
stm32 crypto: stm32/crc32 - fix parsing list of devices 2024-02-23 08:24:55 +01:00
sunxi-ss
ux500 crypto: ux500 - Fix error return code in hash_hw_final() 2021-07-14 16:53:20 +02:00
virtio crypto: virtio - Wait for tasklet to complete on device remove 2024-01-25 14:34:24 -08:00
vmx crypto: vmx - add missing dependencies 2022-04-15 14:18:05 +02:00
atmel-aes-regs.h
atmel-aes.c
atmel-authenc.h
atmel-ecc.c
atmel-i2c.c
atmel-i2c.h
atmel-sha-regs.h
atmel-sha.c
atmel-sha204a.c
atmel-tdes-regs.h
atmel-tdes.c
exynos-rng.c
geode-aes.c
geode-aes.h
hifn_795x.c
img-hash.c crypto: img-hash - Fix variable dereferenced before check 'hdev->req' 2023-01-18 11:41:21 +01:00
ixp4xx_crypto.c crypto: ixp4xx - dma_unmap the correct address 2021-07-14 16:53:20 +02:00
Kconfig
Makefile
mxs-dcp.c crypto: mxs-dcp - Fix scatterlist processing 2022-04-15 14:18:04 +02:00
n2_asm.S
n2_core.c crypto: n2 - add missing hash statesize 2023-01-18 11:41:50 +01:00
n2_core.h
omap-aes-gcm.c
omap-aes.c crypto: omap-aes - Fix broken pm_runtime_and_get() usage 2022-01-27 09:19:49 +01:00
omap-aes.h
omap-crypto.c
omap-crypto.h
omap-des.c
omap-sham.c crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() 2023-01-18 11:41:20 +01:00
padlock-aes.c
padlock-sha.c
picoxcell_crypto.c
picoxcell_crypto_regs.h
qcom-rng.c crypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ 2022-05-25 09:14:34 +02:00
s5p-sss.c crypto: s5p-sss - Add error handling in s5p_aes_probe() 2021-11-17 09:48:17 +01:00
sahara.c crypto: sahara - do not resize req->src when doing hash operations 2024-01-25 14:34:24 -08:00
talitos.c
talitos.h