| From: Herbert Xu <herbert@gondor.apana.org.au> |
| Date: Wed, 27 Jan 2016 00:16:37 +0800 |
| Subject: crypto: shash - Fix has_key setting |
| |
| commit 00420a65fa2beb3206090ead86942484df2275f3 upstream. |
| |
| The has_key logic is wrong for shash algorithms as they always |
| have a setkey function. So we should instead be testing against |
| shash_no_setkey. |
| |
| Fixes: a5596d633278 ("crypto: hash - Add crypto_ahash_has_setkey") |
| Reported-by: Stephan Mueller <smueller@chronox.de> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Tested-by: Stephan Mueller <smueller@chronox.de> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| crypto/shash.c | 7 +++---- |
| 1 file changed, 3 insertions(+), 4 deletions(-) |
| |
| --- a/crypto/shash.c |
| +++ b/crypto/shash.c |
| @@ -353,11 +353,10 @@ int crypto_init_shash_ops_async(struct c |
| crt->final = shash_async_final; |
| crt->finup = shash_async_finup; |
| crt->digest = shash_async_digest; |
| + crt->setkey = shash_async_setkey; |
| + |
| + crt->has_setkey = alg->setkey != shash_no_setkey; |
| |
| - if (alg->setkey) { |
| - crt->setkey = shash_async_setkey; |
| - crt->has_setkey = true; |
| - } |
| if (alg->export) |
| crt->export = shash_async_export; |
| if (alg->import) |