Re: [PATCH v2 12/14] crypto: caam - execute module exit point only if necessary

From: Horia Geanta
Date: Fri Jul 19 2019 - 12:02:51 EST

On 7/19/2019 2:58 AM, Iuliana Prodan wrote:
> Commit 1b46c90c8e00 ("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: 1b46c90c8e00 ("crypto: caam - convert top level drivers to libraries")
> Signed-off-by: Iuliana Prodan <iuliana.prodan@xxxxxxx>
Reviewed-by: Horia Geantă <horia.geanta@xxxxxxx>