linux/drivers/crypto
Bartosz Golaszewski 76e6d50fa5 crypto: qce - unregister previously registered algos in error path
commit e80cf84b60 upstream.

If we encounter an error when registering alorithms with the crypto
framework, we just bail out and don't unregister the ones we
successfully registered in prior iterations of the loop.

Add code that goes back over the algos and unregisters them before
returning an error from qce_register_algs().

Cc: stable@vger.kernel.org
Fixes: ec8f5d8f6f ("crypto: qce - Qualcomm crypto engine driver")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-02-17 10:05:37 +01:00
..
allwinner move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
amcc crypto: crypto4xx - Remove unused declaration crypto4xx_free_ctx() 2024-08-30 18:22:31 +08:00
amlogic crypto: amlogic - Remove unused declaration meson_enqueue() 2024-08-30 18:22:31 +08:00
aspeed crypto: aspeed - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
axis crypto: axis - Remove unused struct 'dbgfs_u32' 2024-05-31 17:34:56 +08:00
bcm crypto: bcm - add error check in the ahash_hmac_init function 2024-12-05 14:01:20 +01:00
caam crypto: caam - use JobR's space to access page 0 regs 2025-02-08 09:57:28 +01:00
cavium crypto: cavium - Fix an error handling path in cpt_ucode_load_fw() 2024-12-05 14:01:21 +01:00
ccp crypto: ccp - do not request interrupt on cmd completion when irqs disabled 2024-09-06 14:50:46 +08:00
ccree crypto: ccree - Remove unused struct 'tdes_keys' 2024-05-31 17:34:56 +08:00
chelsio crypto: chelsio - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
gemini crypto: sl3516 - Remove unused declaration sl3516_ce_enqueue() 2024-08-30 18:22:31 +08:00
hisilicon crypto: hisilicon/sec2 - fix for aead invalid authsize 2025-02-08 09:57:29 +01:00
inside-secure crypto: inside-secure - Fix the return value of safexcel_xcbcmac_cra_init() 2024-12-05 14:01:19 +01:00
intel crypto: iaa - Fix IAA disabling that occurs when sync_mode is set to 'async' 2025-02-08 09:57:30 +01:00
marvell crypto: marvell/cesa - Disable hash algorithms 2024-10-10 17:03:35 +08:00
nx crypto: nx - Use static_assert() to check struct sizes 2024-08-17 13:55:50 +08:00
qce crypto: qce - unregister previously registered algos in error path 2025-02-17 10:05:37 +01:00
rockchip move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
starfive crypto: starfive - Fix nent assignment in rsa dec 2024-07-06 10:20:00 +10:00
stm32 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
tegra crypto: tegra - do not transfer req when tegra init fails 2025-02-08 09:57:28 +01:00
virtio virtio: rename virtio_find_vqs_info() to virtio_find_vqs() 2024-07-17 05:20:58 -04:00
xilinx crypto: xilinx - add missing MODULE_DESCRIPTION() macro 2024-06-07 19:47:59 +08:00
atmel-aes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-aes.c crypto: atmel - use devm_clk_get_prepared() helpers 2024-08-30 18:23:43 +08:00
atmel-authenc.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
atmel-ecc.c crypto: drivers - Explicitly include correct DT includes 2023-08-23 11:04:23 +08:00
atmel-i2c.c crypto: atmel-sha204a - add reading from otp zone 2024-05-10 17:15:25 +08:00
atmel-i2c.h crypto: atmel-sha204a - add reading from otp zone 2024-05-10 17:15:25 +08:00
atmel-sha-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-sha.c crypto: atmel - use devm_clk_get_prepared() helpers 2024-08-30 18:23:43 +08:00
atmel-sha204a.c crypto: atmel-sha204a - add missing MODULE_DESCRIPTION() macro 2024-06-07 19:47:58 +08:00
atmel-tdes-regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
atmel-tdes.c crypto: atmel - Remove cfb and ofb 2023-12-08 11:59:45 +08:00
exynos-rng.c crypto: exynos-rng - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
geode-aes.c crypto: geode - use DEFINE_SPINLOCK() for spinlock 2021-04-16 21:16:31 +10:00
geode-aes.h crypto: geode-aes - convert to skcipher API and make thread-safe 2019-10-23 19:46:56 +11:00
hifn_795x.c crypto: hifn_795x - Remove unused hifn_*_command structs 2024-05-31 17:34:56 +08:00
img-hash.c crypto: img-hash - use devm_clk_get_enabled() helpers 2024-08-30 18:23:43 +08:00
Kconfig Revert "crypto: spacc - Add SPAcc Skcipher support" 2024-09-04 07:09:51 +08:00
Makefile Revert "crypto: spacc - Add SPAcc Skcipher support" 2024-09-04 07:09:51 +08:00
mxs-dcp.c crypto: mxs-dcp - Fix AES-CBC with hardware-bound keys 2024-12-05 14:01:15 +01:00
n2_asm.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
n2_core.c crypto: n2 - Set err to EINVAL if snprintf fails for hmac 2024-09-13 18:26:53 +08:00
n2_core.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap-aes-gcm.c crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-aes.c crypto: omap-aes - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-aes.h crypto: omap - Use new crypto_engine_op interface 2023-08-18 17:01:11 +08:00
omap-crypto.c crypto: omap - Avoid redundant copy when using truncated sg list 2021-08-21 15:44:53 +08:00
omap-crypto.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap-des.c crypto: omap-des - Convert to platform remove callback returning void 2023-10-27 18:04:26 +08:00
omap-sham.c crypto: omap-sham - stop setting alignmask for ahashes 2023-10-27 18:04:29 +08:00
padlock-aes.c crypto: algapi - Remove skbuff.h inclusion 2020-08-20 14:04:28 +10:00
padlock-sha.c crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00
qcom-rng.c crypto: qcom-rng - rename *_of_data to *_match_data 2024-09-13 18:26:52 +08:00
s5p-sss.c crypto: s5p-sss - remove unnecessary alignmask for ahashes 2023-10-27 18:04:28 +08:00
sa2ul.c crypto: sa2ul - add missing MODULE_DESCRIPTION() macro 2024-06-07 19:47:58 +08:00
sa2ul.h crypto: sa2ul - change unsafe data size limit to 255 bytes 2023-05-19 16:45:43 +08:00
sahara.c crypto: sahara - use 'time_left' variable with wait_for_completion_timeout() 2024-05-10 17:15:25 +08:00
talitos.c crypto: talitos - stop using crypto_ahash::init 2023-10-27 18:04:29 +08:00
talitos.h crypto: talitos - Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper 2022-10-21 19:05:24 +08:00