On Fri, Apr 15, 2022 at 01:31:32PM +0100, Catalin Marinas wrote: > > This needs a clarification. For the above structure, kmalloc() will > return a 128-byte aligned pointer since sizeof(x) is a multiple of 128. > The potential problem is if you have something like: > > kmalloc(sizeof(struct x) + 64); > > The above could end up as a kmalloc(192) which is available with an > ARCH_KMALLOC_MINALIGN of 64. If that's a real use-case, I can change the > slab patch to not create the 192 (or 48 if we go for an even smaller > ARCH_KMALLOC_MINALIGN) caches and we'd always have ARCH_DMA_MINALIGN > guarantee if the structure itself is correctly aligned. No lying to the > compiler. Yes I suppose that should work: 1) Enlarge each crypto API object so that they're >= 128 bytes; 2) Modify kmalloc so that for sizes >= 128 bytes they're padded to multiples of 128. But it really feels like a hack. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt