crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c
authorJan-Simon Möller <dl9pf@gmx.de>
Mon, 2 Jul 2012 11:48:30 +0000 (13:48 +0200)
committerBehan Webster <behanw@converseincode.com>
Tue, 14 Oct 2014 08:51:24 +0000 (10:51 +0200)
Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99
compliant equivalent. This patch allocates the appropriate amount of memory
using a char array using the SHASH_DESC_ON_STACK macro.

The new code can be compiled with both gcc and clang.

Signed-off-by: Jan-Simon Möller <dl9pf@gmx.de>
Signed-off-by: Behan Webster <behanw@converseincode.com>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Cc: pageexec@freemail.hu
crypto/testmgr.c

index 9459dfd7357f563de32d6abe487793cbc8ac6570..29a0cbdd0d19b1ddca6ee34c402ac7263d1647d4 100644 (file)
@@ -1678,16 +1678,14 @@ static int alg_test_crc32c(const struct alg_test_desc *desc,
        }
 
        do {
-               struct {
-                       struct shash_desc shash;
-                       char ctx[crypto_shash_descsize(tfm)];
-               } sdesc;
+               SHASH_DESC_ON_STACK(shash, tfm);
+               u32 *ctx = (u32 *)shash_desc_ctx(shash);
 
-               sdesc.shash.tfm = tfm;
-               sdesc.shash.flags = 0;
+               shash->tfm = tfm;
+               shash->flags = 0;
 
-               *(u32 *)sdesc.ctx = le32_to_cpu(420553207);
-               err = crypto_shash_final(&sdesc.shash, (u8 *)&val);
+               *ctx = le32_to_cpu(420553207);
+               err = crypto_shash_final(shash, (u8 *)&val);
                if (err) {
                        printk(KERN_ERR "alg: crc32c: Operation failed for "
                               "%s: %d\n", driver, err);