From: Thorsten Blum <thorsten.blum@linux.dev>
To: Karl Mehltretter <kmehltretter@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Claudiu Beznea <claudiu.beznea@tuxon.dev>,
linux-crypto@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] crypto: atmel-tdes - sync output bounce buffer before DMA
Date: Wed, 2 Sep 2026 19:16:57 +0200 [thread overview]
Message-ID: <aphaCSSkk_pDjyqz@linux.dev> (raw)
In-Reply-To: <20260829045316.92931-1-kmehltretter@gmail.com>
On Sat, Aug 29, 2026 at 06:53:16AM +0200, Karl Mehltretter wrote:
> The slow path DMAs into a bounce buffer mapped once at probe with
> DMA_FROM_DEVICE. On reuse, nothing invalidates the CPU cache for it
> before the DMA writes, so the copy-out can read stale data.
>
> This was hidden by the copy-out calling dma_sync_single_for_device()
> instead of dma_sync_single_for_cpu(): on ARM the misplaced for_device call
> invalidates the cache, which is exactly what the missing pre-DMA sync
> should have done. Commit c8a9a647532f ("crypto: atmel-tdes - fix DMA sync
> direction") corrected that call. On ARM926 dma_unmap_area is a no-op, so
> for_cpu does not invalidate and the SAM9X60 and SAM9X7 parts lost their
> only invalidate.
>
> With CONFIG_CRYPTO_SELFTESTS=y all four DES/TDES algorithms now fail on
> SAM9X75:
>
> alg: skcipher: atmel-ecb-tdes encryption test failed (wrong result) on
> test vector 2, cfg="unaligned buffer, offset=1"
>
> Sync the output buffer for the device before starting the DMA, in both
> the PDC and DMA engine paths.
>
> Fixes: c8a9a647532f ("crypto: atmel-tdes - fix DMA sync direction")
> Cc: stable@vger.kernel.org
> Assisted-by: LLM
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
> ---
> Tested on top of:
>
> crypto: atmel-tdes - zero-initialize device state
> https://lore.kernel.org/r/20260829035821.67220-1-kmehltretter@gmail.com/
>
> Without that fix, on the tested SAM9X75 the DES/TDES self-tests hang on
> their first requests before reaching this test vector, so the failure
> fixed here is not observable on an otherwise unpatched tree.
>
> The two patches are independent and apply in either order.
>
> drivers/crypto/atmel-tdes.c | 4 ++++
> 1 file changed, 4 insertions(+)
The code change looks correct to me.
However, I find the first two paragraphs of the changelog difficult to
understand. Could you please reword those and consistently use full
function names with trailing parentheses?
Thanks,
Thorsten
prev parent reply other threads:[~2026-09-02 17:17 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-29 4:53 Karl Mehltretter
2026-09-02 17:16 ` Thorsten Blum [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aphaCSSkk_pDjyqz@linux.dev \
--to=thorsten.blum@linux.dev \
--cc=alexandre.belloni@bootlin.com \
--cc=claudiu.beznea@tuxon.dev \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=kmehltretter@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolas.ferre@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®