Re: [PATCH] crypto: bcm: fix normal/non key hash algorithm failure

From: Florian Fainelli
Date: Tue Nov 06 2018 - 13:03:03 EST


On 11/6/18 12:28 AM, Raveendra Padasalagi wrote:
> Remove setkey() callback handler for normal/non key
> hash algorithms and keep it for AES-CBC/CMAC which needs key.
>
> Signed-off-by: Raveendra Padasalagi <raveendra.padasalagi@xxxxxxxxxxxx>

Should this have the following Fixes tag?

Fixes: 9d12ba86f818 ("crypto: brcm - Add Broadcom SPU driver")

> ---
> drivers/crypto/bcm/cipher.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c
> index 2d1f1db..4d67e22 100644
> --- a/drivers/crypto/bcm/cipher.c
> +++ b/drivers/crypto/bcm/cipher.c
> @@ -4652,12 +4652,16 @@ static int spu_register_ahash(struct iproc_alg_s *driver_alg)
> hash->halg.statesize = sizeof(struct spu_hash_export_s);
>
> if (driver_alg->auth_info.mode != HASH_MODE_HMAC) {
> - hash->setkey = ahash_setkey;
> hash->init = ahash_init;
> hash->update = ahash_update;
> hash->final = ahash_final;
> hash->finup = ahash_finup;
> hash->digest = ahash_digest;
> + if ((driver_alg->auth_info.alg == HASH_ALG_AES) &&
> + ((driver_alg->auth_info.mode == HASH_MODE_XCBC) ||
> + (driver_alg->auth_info.mode == HASH_MODE_CMAC))) {
> + hash->setkey = ahash_setkey;
> + }
> } else {
> hash->setkey = ahash_hmac_setkey;
> hash->init = ahash_hmac_init;
>


--
Florian