2018-11-06 08:30:05

by Raveendra Padasalagi

[permalink] [raw]
Subject: [PATCH] crypto: bcm: fix normal/non key hash algorithm failure

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 <[email protected]>
---
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;
--
1.9.1



2018-11-06 18:40:13

by Florian Fainelli

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

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 <[email protected]>

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

2018-11-16 06:19:26

by Herbert Xu

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

On Tue, Nov 06, 2018 at 10:02:47AM -0800, Florian Fainelli wrote:
> 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 <[email protected]>
>
> Should this have the following Fixes tag?
>
> Fixes: 9d12ba86f818 ("crypto: brcm - Add Broadcom SPU driver")

I added it when applying.

> > drivers/crypto/bcm/cipher.c | 6 +++++-
> > 1 file changed, 5 insertions(+), 1 deletion(-)

Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt