crypto: atmel-aes - guard unregister on error in atmel_aes_register_algs
Subsystems (2)
PATCH 1/1 crypto: atmel-aes - guard unregister on error in atmel_aes_register_algs
Ensure the device supports XTS and GCM with 'has_xts' and 'has_gcm' before unregistering algorithms when XTS or authenc registration fails, which would trigger a WARN in crypto_unregister_alg().
Currently, with the capabilities defined in atmel_aes_get_cap(), this bug cannot happen because all devices that support XTS and authenc also support GCM, but the error handling should still be correct regardless of hardware capabilities.
--- drivers/crypto/atmel-aes.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/crypto/atmel-aes.c +4 -2
@@ -2270,10 +2270,12 @@ static int atmel_aes_register_algs(struct atmel_aes_dev *dd)/* i = ARRAY_SIZE(aes_authenc_algs); */ err_aes_authenc_alg:crypto_unregister_aeads (aes_authenc_algs, i); -crypto_unregister_skcipher (&aes_xts_alg); +if (dd->caps.has_xts) +crypto_unregister_skcipher (&aes_xts_alg);#endif err_aes_xts_alg: -crypto_unregister_aead (&aes_gcm_alg); +if (dd->caps.has_gcm) +crypto_unregister_aead (&aes_gcm_alg); err_aes_gcm_alg: i =ARRAY_SIZE (aes_algs); err_aes_algs:
Herbert Xu
maintainerQuoted 9 lines · Thorsten Blum
Ensure the device supports XTS and GCM with '
has_xts' and 'has_gcm' before unregistering algorithms when XTS or authenc registration fails, which would trigger a WARN incrypto_unregister_alg().Currently, with the capabilities defined in
atmel_aes_get_cap(), this bug cannot happen because all devices that support XTS and authenc also support GCM, but the error handling should still be correct regardless of hardware capabilities.
Quoted 5 lines
Fixes d52db5188a87 ("crypto: atmel-aes - add support to the XTS mode")Signed-off-by Thorsten Blum <[email protected]>--- drivers/crypto/atmel-aes.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt