Message ID | 20180324110242.9474-1-stefan@agner.ch (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Herbert Xu |
Headers | show |
Hi Stefan, The change looks to be fine. From the IP point of view its using the same values in case of AES cipher and hash types so explicit casting should be ok. -Raveendra On Sat, Mar 24, 2018 at 4:32 PM, Stefan Agner <stefan@agner.ch> wrote: > In the AES cases enum spu_cipher_type and enum hash_type have > the same values, so the assignment is fine. Explicitly cast > the enum type conversion. > > This fixes two warnings when building with clang: > drivers/crypto/bcm/cipher.c:821:34: warning: implicit conversion from > enumeration type 'enum spu_cipher_type' to different enumeration > type 'enum hash_type' [-Wenum-conversion] > hash_parms.type = cipher_parms.type; > ~ ~~~~~~~~~~~~~^~~~ > drivers/crypto/bcm/cipher.c:1412:26: warning: implicit conversion from > enumeration type 'enum spu_cipher_type' to different enumeration > type 'enum hash_type' [-Wenum-conversion] > hash_parms.type = ctx->cipher_type; > ~ ~~~~~^~~~~~~~~~~ > > Signed-off-by: Stefan Agner <stefan@agner.ch> > --- > I am not familar with the IP... I would be glad if somebody with > better insight could have a look whether that patch makes sense. > > drivers/crypto/bcm/cipher.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c > index 2b75f95bbe1b..309c67c7012f 100644 > --- a/drivers/crypto/bcm/cipher.c > +++ b/drivers/crypto/bcm/cipher.c > @@ -818,7 +818,7 @@ static int handle_ahash_req(struct iproc_reqctx_s *rctx) > > /* AES hashing keeps key size in type field, so need to copy it here */ > if (hash_parms.alg == HASH_ALG_AES) > - hash_parms.type = cipher_parms.type; > + hash_parms.type = (enum hash_type)cipher_parms.type; > else > hash_parms.type = spu->spu_hash_type(rctx->total_sent); > > @@ -1409,7 +1409,7 @@ static int handle_aead_req(struct iproc_reqctx_s *rctx) > rctx->iv_ctr_len); > > if (ctx->auth.alg == HASH_ALG_AES) > - hash_parms.type = ctx->cipher_type; > + hash_parms.type = (enum hash_type)ctx->cipher_type; > > /* General case AAD padding (CCM and RFC4543 special cases below) */ > aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, > -- > 2.16.2 >
On 28.03.2018 08:38, Raveendra Padasalagi wrote: > Hi Stefan, > > The change looks to be fine. From the IP point of view its using the > same values in case of AES cipher and hash types so explicit casting > should be ok. Can I take that as an Ack? Herbert, given that Raveendra agrees to the change, do you want me to send a non-RFC version or can you merge the patch as is? -- Stefan > > -Raveendra > > On Sat, Mar 24, 2018 at 4:32 PM, Stefan Agner <stefan@agner.ch> wrote: >> In the AES cases enum spu_cipher_type and enum hash_type have >> the same values, so the assignment is fine. Explicitly cast >> the enum type conversion. >> >> This fixes two warnings when building with clang: >> drivers/crypto/bcm/cipher.c:821:34: warning: implicit conversion from >> enumeration type 'enum spu_cipher_type' to different enumeration >> type 'enum hash_type' [-Wenum-conversion] >> hash_parms.type = cipher_parms.type; >> ~ ~~~~~~~~~~~~~^~~~ >> drivers/crypto/bcm/cipher.c:1412:26: warning: implicit conversion from >> enumeration type 'enum spu_cipher_type' to different enumeration >> type 'enum hash_type' [-Wenum-conversion] >> hash_parms.type = ctx->cipher_type; >> ~ ~~~~~^~~~~~~~~~~ >> >> Signed-off-by: Stefan Agner <stefan@agner.ch> >> --- >> I am not familar with the IP... I would be glad if somebody with >> better insight could have a look whether that patch makes sense. >> >> drivers/crypto/bcm/cipher.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c >> index 2b75f95bbe1b..309c67c7012f 100644 >> --- a/drivers/crypto/bcm/cipher.c >> +++ b/drivers/crypto/bcm/cipher.c >> @@ -818,7 +818,7 @@ static int handle_ahash_req(struct iproc_reqctx_s *rctx) >> >> /* AES hashing keeps key size in type field, so need to copy it here */ >> if (hash_parms.alg == HASH_ALG_AES) >> - hash_parms.type = cipher_parms.type; >> + hash_parms.type = (enum hash_type)cipher_parms.type; >> else >> hash_parms.type = spu->spu_hash_type(rctx->total_sent); >> >> @@ -1409,7 +1409,7 @@ static int handle_aead_req(struct iproc_reqctx_s *rctx) >> rctx->iv_ctr_len); >> >> if (ctx->auth.alg == HASH_ALG_AES) >> - hash_parms.type = ctx->cipher_type; >> + hash_parms.type = (enum hash_type)ctx->cipher_type; >> >> /* General case AAD padding (CCM and RFC4543 special cases below) */ >> aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode, >> -- >> 2.16.2 >>
On Wed, Mar 28, 2018 at 05:41:30PM +0200, Stefan Agner wrote: > > Herbert, given that Raveendra agrees to the change, do you want me to > send a non-RFC version or can you merge the patch as is? There is no need to resend it. Thanks,
On Sat, Mar 24, 2018 at 12:02:42PM +0100, Stefan Agner wrote: > In the AES cases enum spu_cipher_type and enum hash_type have > the same values, so the assignment is fine. Explicitly cast > the enum type conversion. > > This fixes two warnings when building with clang: > drivers/crypto/bcm/cipher.c:821:34: warning: implicit conversion from > enumeration type 'enum spu_cipher_type' to different enumeration > type 'enum hash_type' [-Wenum-conversion] > hash_parms.type = cipher_parms.type; > ~ ~~~~~~~~~~~~~^~~~ > drivers/crypto/bcm/cipher.c:1412:26: warning: implicit conversion from > enumeration type 'enum spu_cipher_type' to different enumeration > type 'enum hash_type' [-Wenum-conversion] > hash_parms.type = ctx->cipher_type; > ~ ~~~~~^~~~~~~~~~~ > > Signed-off-by: Stefan Agner <stefan@agner.ch> Patch applied. Thanks.
diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c index 2b75f95bbe1b..309c67c7012f 100644 --- a/drivers/crypto/bcm/cipher.c +++ b/drivers/crypto/bcm/cipher.c @@ -818,7 +818,7 @@ static int handle_ahash_req(struct iproc_reqctx_s *rctx) /* AES hashing keeps key size in type field, so need to copy it here */ if (hash_parms.alg == HASH_ALG_AES) - hash_parms.type = cipher_parms.type; + hash_parms.type = (enum hash_type)cipher_parms.type; else hash_parms.type = spu->spu_hash_type(rctx->total_sent); @@ -1409,7 +1409,7 @@ static int handle_aead_req(struct iproc_reqctx_s *rctx) rctx->iv_ctr_len); if (ctx->auth.alg == HASH_ALG_AES) - hash_parms.type = ctx->cipher_type; + hash_parms.type = (enum hash_type)ctx->cipher_type; /* General case AAD padding (CCM and RFC4543 special cases below) */ aead_parms.aad_pad_len = spu->spu_gcm_ccm_pad_len(ctx->cipher.mode,
In the AES cases enum spu_cipher_type and enum hash_type have the same values, so the assignment is fine. Explicitly cast the enum type conversion. This fixes two warnings when building with clang: drivers/crypto/bcm/cipher.c:821:34: warning: implicit conversion from enumeration type 'enum spu_cipher_type' to different enumeration type 'enum hash_type' [-Wenum-conversion] hash_parms.type = cipher_parms.type; ~ ~~~~~~~~~~~~~^~~~ drivers/crypto/bcm/cipher.c:1412:26: warning: implicit conversion from enumeration type 'enum spu_cipher_type' to different enumeration type 'enum hash_type' [-Wenum-conversion] hash_parms.type = ctx->cipher_type; ~ ~~~~~^~~~~~~~~~~ Signed-off-by: Stefan Agner <stefan@agner.ch> --- I am not familar with the IP... I would be glad if somebody with better insight could have a look whether that patch makes sense. drivers/crypto/bcm/cipher.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)