On 09/06/2014 01:02 AM, behanw@xxxxxxxxxxxxxxxxxx wrote:They seemed more separate than that. However, happy to post them as a patch set.
From: Jan-Simon MÃller <dl9pf@xxxxxx>Well, if clang (or C99 code) is now preferred for kernel, why not.
The use of variable length arrays in structs (VLAIS) in the Linux Kernel code
precludes the use of compilers which don't implement VLAIS (for instance the
Clang compiler). This patch instead allocates the appropriate amount of memory
using an char array.
Just please commit the patch series en bloc (together with the patches
removing VLAIS from crypto code you posted to cryptoapi list).
I'm not claiming it's prettier. Merely C99. :)- struct {TBH, this looks even more uglier that the previous code :-)
- struct shash_desc desc;
- char ctx[crypto_shash_descsize(lmk->hash_tfm)];
- } sdesc;
+ char sdesc[sizeof(struct shash_desc) +
+ crypto_shash_descsize(lmk->hash_tfm)] CRYPTO_MINALIGN_ATTR;
+ struct shash_desc *desc = (struct shash_desc *)sdesc;
(But tglx already complained on different patch and I fully agree that crypto codeI actually agree with you and tglx. Will fix.
should not use this kind of construction in the first place...
It would be very nice to introduce at least some macro hiding these crazy
stack allocations later.)