On Thu, Apr 07, 2022 at 05:28:10PM +0100, Catalin Marinas wrote: > > I can see in many cases that the kmalloc() caller aligns the requested > size to something like crypto_tfm_ctx_alignment(). So this would > guarantee a kmalloc() object aligned to CRYPTO_MINALIGN. crypto_tfm_ctx_alignment is basically the same as CRYPTO_MINALIGN. We assume any kmalloced pointers to be aligned to that. Specific algorithms may ask for an alignment greater than that and we will use the knowledge that kmalloc is aligned to CRYPTO_MINALIGN to derive the extra memory we need to get. So if kmalloc no longer returns memory aligned to MINALIGN then we'll get memory overruns. > I saw Ard already started to refactor some of these. But in the meantime > are there cases where the crypto code does a kmalloc() of less than > CRYPTO_MINALIGN and expects it to be CRYPTO_MINALIGN aligned? It's a fundamental assumption of the API. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt