linux/drivers/crypto/caam
Iuliana Prodan 4e3a61c55b crypto: caam - execute module exit point only if necessary
Commit 1b46c90c8e ("crypto: caam - convert top level drivers to libraries")
changed entry and exit points behavior for caamalg,
caamalg_qi, caamalg_qi2, caamhash, caampkc, caamrng.

For example, previously caam_pkc_init() and caam_pkc_exit() were
module entry/exit points. This means that if an error would happen
in caam_pkc_init(), then caam_pkc_exit() wouldn't have been called.
After the mentioned commit, caam_pkc_init() and caam_pkc_exit()
are manually called - from jr.c. caam_pkc_exit() is called
unconditionally, even if caam_pkc_init() failed.

Added a global variable to keep the status of the algorithm
registration and free of resources.
The exit point of caampkc/caamrng module is executed only if the
registration was successful. Therefore we avoid double free of
resources in case the algorithm registration failed.

Fixes: 1b46c90c8e ("crypto: caam - convert top level drivers to libraries")
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Reviewed-by: Horia Geanta <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2019-08-09 15:11:51 +10:00
..
caamalg_desc.c crypto: caam - update rfc4106 sh desc to support zero length input 2019-08-09 15:11:48 +10:00
caamalg_desc.h crypto: caam - update rfc4106 sh desc to support zero length input 2019-08-09 15:11:48 +10:00
caamalg_qi2.c crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
caamalg_qi2.h crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
caamalg_qi.c crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
caamalg.c crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
caamhash_desc.c crypto: caam - keep both virtual and dma key addresses 2019-08-09 15:11:49 +10:00
caamhash_desc.h crypto: caam - keep both virtual and dma key addresses 2019-08-09 15:11:49 +10:00
caamhash.c crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
caampkc.c crypto: caam - execute module exit point only if necessary 2019-08-09 15:11:51 +10:00
caampkc.h crypto: caam - strip input without changing crypto request 2019-06-06 14:38:57 +08:00
caamrng.c crypto: caam - execute module exit point only if necessary 2019-08-09 15:11:51 +10:00
compat.h crypto: caam - add ecb(*) support 2019-02-15 13:21:55 +08:00
ctrl.c crypto: caam - defer probing until QMan is available 2019-08-02 14:45:14 +10:00
ctrl.h crypto: caam - staticize caam_get_era() 2018-04-21 00:58:36 +08:00
desc_constr.h crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
desc.h crypto: caam - fix SHA support detection 2019-01-10 21:37:31 +08:00
dpseci_cmd.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci-debugfs.c crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
dpseci-debugfs.h crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
dpseci.c crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
dpseci.h crypto: caam - add DPAA2-CAAM (DPSECI) backend API 2018-09-21 13:24:51 +08:00
error.c crypto: caam - fix return code in completion callbacks 2019-08-09 15:11:45 +10:00
error.h crypto: caam - fix return code in completion callbacks 2019-08-09 15:11:45 +10:00
intern.h crypto: caam/qi - fix address translations with IOMMU enabled 2019-05-23 14:01:04 +08:00
jr.c crypto: caam - convert top level drivers to libraries 2019-05-23 14:01:03 +08:00
jr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig crypto: caam - check key length 2019-08-09 15:11:46 +10:00
key_gen.c crypto: caam - fix MDHA key derivation for certain user key lengths 2019-08-09 15:11:49 +10:00
key_gen.h crypto: caam - add Derived Key Protocol (DKP) support 2017-12-28 17:56:48 +11:00
Makefile crypto: caam/qi2 - Add printing dpseci fq stats using debugfs 2019-08-02 14:44:01 +10:00
pdb.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pkc_desc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qi.c crypto: caam - fix return code in completion callbacks 2019-08-09 15:11:45 +10:00
qi.h crypto: caam/qi - simplify CGR allocation, freeing 2018-10-17 14:14:46 +08:00
regs.h crypto: caam/qi - fix error handling in ERN handler 2019-08-09 15:11:44 +10:00
sg_sw_qm2.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00
sg_sw_qm.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00
sg_sw_sec4.h crypto: caam - use len instead of nents for bulding HW S/G table 2019-06-20 14:18:33 +08:00