Skip to content

Commit

Permalink
crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Behan Webster <[email protected]>
Reviewed-by: Mark Charlebois <[email protected]>
Acked-by: Herbert Xu <[email protected]>
Cc: [email protected]
  • Loading branch information
dl9pf authored and behanw committed Oct 14, 2014
1 parent 357aabe commit 4c5c302
Showing 1 changed file with 6 additions and 8 deletions.
14 changes: 6 additions & 8 deletions crypto/testmgr.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 4c5c302

Please sign in to comment.