crypto: talitos - Remove GFP_DMA and add DMA alignment padding
authorHerbert Xu <herbert@gondor.apana.org.au>
Fri, 30 Dec 2022 07:31:33 +0000 (15:31 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 6 Jan 2023 09:15:47 +0000 (17:15 +0800)
GFP_DMA does not guarantee that the returned memory is aligned
for DMA.  It should be removed where it is superfluous.

However, kmalloc may start returning DMA-unaligned memory in future
so fix this by adding the alignment by hand.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/talitos.c

index 71db6450b6aa4038f5d81b21c2aac44550c6c19e..d62ec68e3183e4df156d60e6f398febaff8bb0ef 100644 (file)
@@ -1393,7 +1393,7 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
                alloc_len += sizeof(struct talitos_desc);
        alloc_len += ivsize;
 
-       edesc = kmalloc(alloc_len, GFP_DMA | flags);
+       edesc = kmalloc(ALIGN(alloc_len, dma_get_cache_alignment()), flags);
        if (!edesc)
                return ERR_PTR(-ENOMEM);
        if (ivsize) {