public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: Gaurav Jain <gaurav.jain@nxp.com>,
	U-Boot Mailing List <u-boot@lists.denx.de>
Cc: "dullfire@yahoo.com" <dullfire@yahoo.com>
Subject: Re: [EXT] fsl_hash.c: Alignment problem when using caam_hash() for FIT images
Date: Fri, 29 Apr 2022 15:26:03 +0200	[thread overview]
Message-ID: <9fb8507f-9a5e-e53a-0d64-e4bcbb6663eb@denx.de> (raw)
In-Reply-To: <VI1PR04MB53428F906E2A0F994D14DD48E7FC9@VI1PR04MB5342.eurprd04.prod.outlook.com>

On 4/29/22 15:22, Gaurav Jain wrote:
> Hello Stefan
> 
>> -----Original Message-----
>> From: Stefan Roese <sr@denx.de>
>> Sent: Friday, April 29, 2022 6:24 PM
>> To: U-Boot Mailing List <u-boot@lists.denx.de>
>> Cc: Gaurav Jain <gaurav.jain@nxp.com>; 'dullfire@yahoo.com
>> Subject: [EXT] fsl_hash.c: Alignment problem when using caam_hash() for FIT
>> images
>>
>> Caution: EXT Email
>>
>> Hi,
>>
>> 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:
>>
>> ## Loading kernel from FIT Image at a0000000 ...
>>      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!
>>
>> And here the addresses, printed from caam_hash():
>> caam_hash (171): pbuf=00000000a00000fc pout=00000000fbde6f80
>> buf_len=5291241 ARCH_DMA_MINALIGN=64
>>
>> pbuf points to an area in the FIT image itself. So its not easy to change this.
>>
>> In some quick tests I've dropped the alignment check and have not seen any
>> problems yet. The hash is calculated without any problems and seems to be okay.
>> I might be just lucky though, not sure.
>>
>> So my basic question is: Is this alignment really necessary and required for both
>> addresses in this function?
> You are right, Alignment is not necessary and can be removed.

Perfect, thanks. Let me generate a patch for this. Stay tuned... ;)

Thanks,
Stefan

>>
>> If yes, do you have some suggestions on how to handle this? Other than
>> allocating new aligned buffers in caam_hash() and memcpy'ing to those new
>> buffers instead. BTW, this is not a preferred solution for me, as boot-time is
>> crucial for my platform.
>>
>> Thanks,
>> Stefan

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de

  reply	other threads:[~2022-04-29 13:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-29 12:54 fsl_hash.c: Alignment problem when using caam_hash() for FIT images Stefan Roese
2022-04-29 13:22 ` [EXT] " Gaurav Jain
2022-04-29 13:26   ` Stefan Roese [this message]
2022-04-29 14:10 ` Sean Anderson

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=9fb8507f-9a5e-e53a-0d64-e4bcbb6663eb@denx.de \
    --to=sr@denx.de \
    --cc=dullfire@yahoo.com \
    --cc=gaurav.jain@nxp.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox