[EXT] [PATCH] crypto: fsl_hash: Remove unnecessary alignment check in caam_hash()

Gaurav Jain gaurav.jain at nxp.com
Fri Apr 29 15:47:48 CEST 2022


Reviewed-by: Gaurav Jain <gaurav.jain at nxp.com>

> -----Original Message-----
> From: Stefan Roese <sr at denx.de>
> Sent: Friday, April 29, 2022 7:05 PM
> To: u-boot at lists.denx.de
> Cc: Gaurav Jain <gaurav.jain at nxp.com>; dullfire at yahoo.com
> Subject: [EXT] [PATCH] crypto: fsl_hash: Remove unnecessary alignment check
> in caam_hash()
> 
> Caution: EXT Email
> 
> While working on an LX2160 based board and updating to latest mainline I
> noticed problems using the HW accelerated hash functions on this platform,
> when trying to boot a FIT Kernel image. Here the resulting error message:
> 
>    Using 'conf-freescale_lx2160a.dtb' configuration
>    Trying 'kernel-1' kernel subimage
>    Verifying Hash Integrity ... sha256Error: Address arguments are not aligned
> CAAM was not setup properly or it is faulty  error!
> Bad hash value for 'hash-1' hash node in 'kernel-1' image node Bad Data Hash
> ERROR: can't get kernel image!
> 
> Testing and checking with Gaurav Jain from NXP has revealed, that this
> alignment check is not necessary here at all. So let's remove this check
> completely.
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> Cc: Gaurav Jain <gaurav.jain at nxp.com>
> Cc: dullfire at yahoo.com
> ---
>  drivers/crypto/fsl/fsl_hash.c | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/drivers/crypto/fsl/fsl_hash.c b/drivers/crypto/fsl/fsl_hash.c index
> a52c4ac957e0..0a371bffd5eb 100644
> --- a/drivers/crypto/fsl/fsl_hash.c
> +++ b/drivers/crypto/fsl/fsl_hash.c
> @@ -168,12 +168,6 @@ int caam_hash(const unsigned char *pbuf, unsigned int
> buf_len,
>         uint32_t *desc;
>         unsigned int size;
> 
> -       if (!IS_ALIGNED((uintptr_t)pbuf, ARCH_DMA_MINALIGN) ||
> -           !IS_ALIGNED((uintptr_t)pout, ARCH_DMA_MINALIGN)) {
> -               puts("Error: Address arguments are not aligned\n");
> -               return -EINVAL;
> -       }
> -
>         desc = malloc_cache_aligned(sizeof(int) * MAX_CAAM_DESCSIZE);
>         if (!desc) {
>                 debug("Not enough memory for descriptor allocation\n");
> --
> 2.32.0



More information about the U-Boot mailing list