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> Horia