linux/include/crypto
Behan Webster a0a77af141 crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code
Add a macro which replaces the use of a Variable Length Array In Struct (VLAIS)
with a C99 compliant equivalent. This macro instead allocates the appropriate
amount of memory using an char array.

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

struct shash_desc contains a flexible array member member ctx declared with
CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning
of the array declared after struct shash_desc with long long.

No trailing padding is required because it is not a struct type that can
be used in an array.

The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long
as would be the case for a struct containing a member with
CRYPTO_MINALIGN_ATTR.

If you want to get to the ctx at the end of the shash_desc as before you can do
so using shash_desc_ctx(shash)

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: Michał Mirosław <mirqus@gmail.com>
2014-10-14 10:51:22 +02:00
..
internal
ablk_helper.h
aead.h
aes.h
algapi.h
authenc.h
b128ops.h
blowfish.h
cast5.h
cast6.h
cast_common.h
compress.h
cryptd.h
crypto_wq.h
ctr.h
des.h
drbg.h
gf128mul.h
hash.h
hash_info.h
if_alg.h
lrw.h
mcryptd.h
md5.h
null.h
padlock.h
pcrypt.h
pkcs7.h
public_key.h
rng.h
scatterwalk.h
serpent.h
sha.h
skcipher.h
twofish.h
vmac.h
xts.h