Re: [PATCH v2] crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt

From: Milan Broz
Date: Sat Sep 06 2014 - 04:47:00 EST


On 09/06/2014 01:02 AM, behanw@xxxxxxxxxxxxxxxxxx wrote:
> From: Jan-Simon MÃller <dl9pf@xxxxxx>
>
> 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.

Well, if clang (or C99 code) is now preferred for kernel, why not.

Just please commit the patch series en bloc (together with the patches
removing VLAIS from crypto code you posted to cryptoapi list).

Dmcrypt should always use the same coding practices as crypto part of the kernel
so we should not divert here.

> - struct {
> - 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;

TBH, this looks even more uglier that the previous code :-)

(But tglx already complained on different patch and I fully agree that crypto code
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.)

Thanks,
Milan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/