Hi David, On Wed, May 02, 2018 at 02:55:19PM +0000, David Laight wrote: > From: Antoine Tenart > > > > +#define AEAD_REQUEST_ON_STACK(name, tfm) \ > > + char __##name##_desc[sizeof(struct aead_request) + \ > > + crypto_aead_reqsize(tfm)] CRYPTO_MINALIGN_ATTR; \ > > + struct aead_request *name = (void *)__##name##_desc > > + > > This looks stunningly like a VLA. I was expecting this question :) The thing is this define looks *a lot* like the ones defined in other places in the crypto framework, such as SKCIPHER_REQUEST_ON_STACK and AHASH_REQUEST_ON_STACK. Those haven't been tackled down so far by the whole VLA removal so the idea was that the same solution will apply to the 3 of them (and then I'm not really adding a new one). If you do have a suggestion on how to fix the 3 of them, I'll be glad to make a patch for that, but I'm not sure there's an easy solution. And I don't think I saw a patch on the mailing list about those defines. Thanks, Antoine -- Antoine Ténart, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com