Re: [RFC PATCH] crypto: brcm - explicitly cast cipher to hash type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx> 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@xxxxxxxx>
>> ---
>> 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
>>



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux