15.06.2016 19:14, Laurent Vivier пишет:
This patch is the result of coccinelle script
scripts/coccinelle/typecast.cocci

CC: Daniel P. Berrange <[email protected]>
Signed-off-by: Laurent Vivier <[email protected]>
---
 crypto/cipher-builtin.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crypto/cipher-builtin.c b/crypto/cipher-builtin.c
index 88963f6..d791c80 100644
--- a/crypto/cipher-builtin.c
+++ b/crypto/cipher-builtin.c
@@ -132,7 +132,7 @@ static void qcrypto_cipher_aes_xts_encrypt(const void *ctx,
 {
     const QCryptoCipherBuiltinAESContext *aesctx = ctx;

-    qcrypto_cipher_aes_ecb_encrypt((AES_KEY *)&aesctx->enc,
+    qcrypto_cipher_aes_ecb_encrypt(&aesctx->enc,
                                    src, dst, length);
 }

@@ -144,7 +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,
+    qcrypto_cipher_aes_ecb_decrypt(&aesctx->dec,
                                    src, dst, length);
 }

This patch causes the following build failure:

  CC    crypto/block.o
In file included from /build/qemu/git/crypto/cipher.c:156:0:crypto/cipher-builtin.c: In function ‘qcrypto_cipher_aes_xts_encrypt’: crypto/cipher-builtin.c:135:36: error: passing argument 1 of ‘qcrypto_cipher_aes_ecb_encrypt’ discards ‘const’ qualifier from pointer target type [-Werror]
     qcrypto_cipher_aes_ecb_encrypt(&aesctx->enc,
                                    ^
crypto/cipher-builtin.c:76:13: note: expected ‘struct AES_KEY *’ but argument is of type ‘const struct AES_KEY *’
 static void qcrypto_cipher_aes_ecb_encrypt(AES_KEY *key,
             ^
crypto/cipher-builtin.c: In function ‘qcrypto_cipher_aes_xts_decrypt’:
crypto/cipher-builtin.c:147:36: error: passing argument 1 of ‘qcrypto_cipher_aes_ecb_decrypt’ discards ‘const’ qualifier from pointer target type [-Werror]
     qcrypto_cipher_aes_ecb_decrypt(&aesctx->dec,
                                    ^
crypto/cipher-builtin.c:102:13: note: expected ‘struct AES_KEY *’ but argument is of type ‘const struct AES_KEY *’
 static void qcrypto_cipher_aes_ecb_decrypt(AES_KEY *key,
             ^
cc1: all warnings being treated as errors

It's interesting that the qemu functions accepts const argument,
while apparently this is wrong, as qcrypto functions modifies their
args.  Looks like a bug either in qemu or qcrypto... :)

I'll reverted this change for now.

Thanks,

/mjt

Reply via email to