On Sun, Apr 17, 2022 at 09:38:40AM +0100, Catalin Marinas wrote: > > I don't think we need to do anything here. A structure like: > > struct x { > char y; > char z[] CRYPTO_MINALIGN_ATTR; > }; > > is already of size 128. Without CRYPTO_MINALIGN_ATTR, its size would be > 1 but otherwise the whole structure inherits the alignment of its > member and this translates into an aligned size. No we should not lie to the compiler, we have code elsewhere that uses the alignment to compute the amount of extra padding needed to create greater padding. If CRYPTO_MINALIGN is misleading then that calculation will fall apart. So keep CRYPTO_MINALIGN at whatever alignment you lower kmalloc to, and then add the padding you need to separate the Crypto API bits from the context. In fact, that is exactly what cra_alignmask is supposed to do. Sure we currently limit the maximum alignment to 64 bytes because of stack usage but we can certainly look into increasing it as that's what you're doing here anyway. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt