From: Benjamin Lemouzy <blemouzy.ml@gmail.com>
To: Peng Fan <peng.fan@oss.nxp.com>
Cc: u-boot@lists.denx.de, gaurav.jain@nxp.com, trini@konsulko.com,
Benjamin Lemouzy <blemouzy@centralp.fr>
Subject: Re: [PATCH] crypto: fsl_hash: fix flush dcache alignment in caam_hash()
Date: Fri, 28 Feb 2025 09:00:28 +0100 [thread overview]
Message-ID: <20250228090028.6fd81ea9@gmail.com> (raw)
In-Reply-To: <20250228041756.GB30605@nxa18884-linux>
Hi Peng,
On Fri, 28 Feb 2025 12:17:56 +0800
Peng Fan <peng.fan@oss.nxp.com> wrote:
> Hi Benjamin,
>
> On Fri, Feb 21, 2025 at 08:05:01AM +0100, blemouzy.ml@gmail.com wrote:
> >From: Benjamin Lemouzy <blemouzy@centralp.fr>
> >
> >Loading a FIT kernel image with hash hardware acceleration enabled
> >(CONFIG_SHA_HW_ACCEL=y) displays the following CACHE warning:
>
> Sorry for my lazyness, the following patch should be able to solve
> your issue. I will prepare a PR soon.
> https://patchwork.ozlabs.org/project/uboot/patch/1bd862e53b50825f6030bf9f212127c776fff881.camel@googlemail.com/
I just tested the suggested patch and it's not working:
## Loading kernel from FIT Image at 16000000 ...
Using 'conf-imx6q-xxx.dtb' configuration
Trying 'kernel-1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x16000128
Data Size: 7600544 Bytes = 7.2 MiB
Architecture: ARM
OS: Linux
Load Address: 0x10008000
Entry Point: 0x10008000
Hash algo: sha256
Hash value: a664f6c4d4ac97e2d867b8ee4f38cf934a48f99c65f19f824162b7ca077cb0d9
Verifying Hash Integrity ... sha256+ OK
## Loading ramdisk from FIT Image at 16000000 ...
Using 'conf-imx6q-xxx.dtb' configuration
Trying 'ramdisk-1' ramdisk subimage
Description: ctp-image-base-initramfs
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0x1676d6d4
Data Size: 12635898 Bytes = 12.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x13000000
Entry Point: unavailable
Hash algo: sha256
Hash value: e1fe9087261f33679b95cd82b387317fa31b58f6365406fad1df1f27d46923e9
Verifying Hash Integrity ... sha256CAAM was not setup properly or it is faulty
error!
Bad hash value for 'hash-1' hash node in 'ramdisk-1' image node
Bad Data Hash
Ramdisk image is corrupt or invalid
Benjamin
> Thanks,
> Peng
> >
> > [...]
> > Trying 'kernel-1' kernel subimage
> > [...]
> > Verifying Hash Integrity ... sha256CACHE: Misaligned operation at
> >range [16000128, 1673fae8]
> > [...]
> > Trying 'ramdisk-1' ramdisk subimage
> > [...]
> > Verifying Hash Integrity ... sha256CACHE: Misaligned operation at
> >range [1676d6d4, 1737a5d4]
> > [...]
> > Trying 'fdt-imx6q-xxx.dtb' fdt subimage
> > [...]
> > Verifying Hash Integrity ... sha256CACHE: Misaligned operation at
> >range [1673fbdc, 1674b0dc]
> > [...]
> >
> >This patch fixes it.
> >
> >Tested on:
> >- i.MX 6 custom board
> >- LS1021A custom board
> >
> >Signed-off-by: Benjamin Lemouzy <blemouzy@centralp.fr>
> >---
> > drivers/crypto/fsl/fsl_hash.c | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/crypto/fsl/fsl_hash.c
> >b/drivers/crypto/fsl/fsl_hash.c index 79b32e2627..b721c86609 100644
> >--- a/drivers/crypto/fsl/fsl_hash.c
> >+++ b/drivers/crypto/fsl/fsl_hash.c
> >@@ -183,6 +183,7 @@ int caam_hash(const unsigned char *pbuf,
> >unsigned int buf_len,
> > {
> > int ret = 0;
> > uint32_t *desc;
> >+ unsigned long pbuf_aligned;
> > unsigned int size;
> >
> > desc = malloc_cache_aligned(sizeof(int) *
> > MAX_CAAM_DESCSIZE);
> >@@ -191,8 +192,9 @@ int caam_hash(const unsigned char *pbuf,
> >unsigned int buf_len,
> > return -ENOMEM;
> > }
> >
> >- size = ALIGN(buf_len, ARCH_DMA_MINALIGN);
> >- flush_dcache_range((unsigned long)pbuf, (unsigned long)pbuf
> >+ size);
> >+ pbuf_aligned = ALIGN_DOWN((unsigned long)pbuf,
> >ARCH_DMA_MINALIGN);
> >+ size = ALIGN(buf_len + ((unsigned long)pbuf -
> >pbuf_aligned), ARCH_DMA_MINALIGN);
> >+ flush_dcache_range(pbuf_aligned, pbuf_aligned + size);
> >
> > inline_cnstr_jobdesc_hash(desc, pbuf, buf_len, pout,
> > driver_hash[algo].alg_type,
> >--
> >2.43.0
> >
next prev parent reply other threads:[~2025-02-28 8:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-21 7:05 [PATCH] crypto: fsl_hash: fix flush dcache alignment in caam_hash() blemouzy.ml
2025-02-28 4:17 ` Peng Fan
2025-02-28 8:00 ` Benjamin Lemouzy [this message]
2025-03-03 4:03 ` Peng Fan
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=20250228090028.6fd81ea9@gmail.com \
--to=blemouzy.ml@gmail.com \
--cc=blemouzy@centralp.fr \
--cc=gaurav.jain@nxp.com \
--cc=peng.fan@oss.nxp.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.