diff mbox series

[PULL,04/20] crypto: Redundant type conversion for AES_KEY pointer

Message ID 20200504115758.283914-5-laurent@vivier.eu
State New
Headers show
Series [PULL,01/20] scsi/esp-pci: add g_assert() for fix clang analyzer warning in esp_pci_io_write() | expand

Commit Message

Laurent Vivier May 4, 2020, 11:57 a.m. UTC
From: Chen Qun <kuhn.chenqun@huawei.com>

Fix: eaec903c5b8

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Acked-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200325092137.24020-4-kuhn.chenqun@huawei.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 crypto/cipher-builtin.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Daniel P. Berrangé May 4, 2020, 12:58 p.m. UTC | #1
Hi Chen,

This patch triggered a build failure in QEMU about discarding the
"const" qualifier.

IOW, the type conversion is not redundant after all - it is required
in order to explicitly discard "const".

I believe we can probably fix this by changing
qcrypto_cipher_aes_ecb_(en|de)crypt() methods so that they also have
a "const" qualifier on the AES_KEY parameter.

On Mon, May 04, 2020 at 01:57:42PM +0200, Laurent Vivier wrote:
> From: Chen Qun <kuhn.chenqun@huawei.com>
> 
> Fix: eaec903c5b8
> 
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
> Acked-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> Message-Id: <20200325092137.24020-4-kuhn.chenqun@huawei.com>
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
>  crypto/cipher-builtin.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/crypto/cipher-builtin.c b/crypto/cipher-builtin.c
> index bf8413e71a6e..99d6280a1669 100644
> --- a/crypto/cipher-builtin.c
> +++ b/crypto/cipher-builtin.c
> @@ -133,8 +133,7 @@ static void qcrypto_cipher_aes_xts_encrypt(const void *ctx,
>  {
>      const QCryptoCipherBuiltinAESContext *aesctx = ctx;
>  
> -    qcrypto_cipher_aes_ecb_encrypt((AES_KEY *)&aesctx->enc,
> -                                   src, dst, length);
> +    qcrypto_cipher_aes_ecb_encrypt(&aesctx->enc, src, dst, length);
>  }
>  
>  
> @@ -145,8 +144,7 @@ static void qcrypto_cipher_aes_xts_decrypt(const void *ctx,
>  {
>      const QCryptoCipherBuiltinAESContext *aesctx = ctx;
>  
> -    qcrypto_cipher_aes_ecb_decrypt((AES_KEY *)&aesctx->dec,
> -                                   src, dst, length);
> +    qcrypto_cipher_aes_ecb_decrypt(&aesctx->dec, src, dst, length);
>  }
>  
>  
> -- 
> 2.26.2
> 

Regards,
Daniel
Chen Qun May 5, 2020, 7:20 a.m. UTC | #2
>-----Original Message-----
>From: Daniel P. Berrangé [mailto:berrange@redhat.com]
>Sent: Monday, May 4, 2020 8:58 PM
>To: Chenqun (kuhn) <kuhn.chenqun@huawei.com>
>Cc: qemu-devel@nongnu.org; Michael Tokarev <mjt@tls.msk.ru>; qemu-
>trivial@nongnu.org; Laurent Vivier <laurent@vivier.eu>; Euler Robot
><euler.robot@huawei.com>
>Subject: Re: [PULL 04/20] crypto: Redundant type conversion for AES_KEY
>pointer
>
>Hi Chen,
>
>This patch triggered a build failure in QEMU about discarding the "const"
>qualifier.
>
>IOW, the type conversion is not redundant after all - it is required in order to
>explicitly discard "const".
>
Yes, you are right!  Thank you for pointing it out !
It is my carelessness, this patch is not complete. 

>I believe we can probably fix this by changing
>qcrypto_cipher_aes_ecb_(en|de)crypt() methods so that they also have a "const"
>qualifier on the AES_KEY parameter.
>
It's a good point.  I will update the patch later.

Thanks.
diff mbox series

Patch

diff --git a/crypto/cipher-builtin.c b/crypto/cipher-builtin.c
index bf8413e71a6e..99d6280a1669 100644
--- a/crypto/cipher-builtin.c
+++ b/crypto/cipher-builtin.c
@@ -133,8 +133,7 @@  static void qcrypto_cipher_aes_xts_encrypt(const void *ctx,
 {
     const QCryptoCipherBuiltinAESContext *aesctx = ctx;
 
-    qcrypto_cipher_aes_ecb_encrypt((AES_KEY *)&aesctx->enc,
-                                   src, dst, length);
+    qcrypto_cipher_aes_ecb_encrypt(&aesctx->enc, src, dst, length);
 }
 
 
@@ -145,8 +144,7 @@  static void qcrypto_cipher_aes_xts_decrypt(const void *ctx,
 {
     const QCryptoCipherBuiltinAESContext *aesctx = ctx;
 
-    qcrypto_cipher_aes_ecb_decrypt((AES_KEY *)&aesctx->dec,
-                                   src, dst, length);
+    qcrypto_cipher_aes_ecb_decrypt(&aesctx->dec, src, dst, length);
 }