crypto: caam - Fix edesc/iv ordering mixup
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 27 Feb 2023 08:25:58 +0000 (16:25 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 28 Feb 2023 08:30:58 +0000 (16:30 +0800)
commit660ca9470f9c613fa2c71a123a9469c80a697ee4
treef3d64a401c7737962388a89fa48e42640ac7a1f5
parent8b84475318641c2b89320859332544cf187e1cbd
crypto: caam - Fix edesc/iv ordering mixup

The attempt to add DMA alignment padding by moving IV to the front
of edesc was completely broken as it didn't change the places where
edesc was freed.

It's also wrong as the IV may still share a cache-line with the
edesc.

Fix this by restoring the original layout and simply reserving
enough memmory so that the IV is on a DMA cache-line by itself.

Reported-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>
Fixes: 199354d7fb6e ("crypto: caam - Remove GFP_DMA and add DMA alignment padding")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/caamalg.c
drivers/crypto/caam/caamalg_qi.c
drivers/crypto/caam/qi.c