public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] New Image format: headers hashes.
Date: Thu, 03 Apr 2008 11:51:04 +0200	[thread overview]
Message-ID: <1207216264.27240.12.camel@localhost> (raw)
In-Reply-To: <47F4A3FC.5000401@semihalf.com>

Hi Bartlomiej,

thank you for the answers. See my comments below.

On gio, 2008-04-03 at 11:31 +0200, Bartlomiej Sieka wrote:
> Hi Luigi,
> 
> You wrote:
> > On gio, 2008-03-27 at 12:13 +0100, Luigi 'Comio' Mantellini wrote:
> > 
> >>
> >> - The mkimage calculate hashes before that timestamp is added to
> >> image.
> >> is it better exchange the order of these operations (before add
> >> timestamp then calculate hashes)?
> 
> Please see below.
> 
> 
> >> - Does the new format assure that the complete image (_all_ sections,
> >> images, ramdisks, configurations, blobs) are covered by at least an
> >> hash
> >> value?
> 
> Currently, the hash calculation is performed only over binary data of
> component images (kernel, ramdisk, fdt, etc). In particular, timestamp
> information is not protected by the hash, so the ordering of hash
> calculation and timestamp addition doesn't matter.
> 

Ok. I agree

> 
>  >> should mkimage add at least a hash value for the root node?
> 
> Adding a hash value for the root node only will not be easy. An easier
> approach I think would be to add a hash value for the entire FIT image.
> 
Ok.

> 
> > In addition to the previous question:
> > 
> > - I'm interested to calculate and store from U-boot code but the 
> > fit_image_set_hashes is compiled only when the USE_HOSTCC symbol is 
> > defined. Why? Is there a particular reason?
> 
> There's no need for the function that you mention in current U-Boot
> code, that's the reason why it's under USE_HOSTCC. If you're planning on
> adding code to U-Boot that will use fit_image_set_hashes(), then just
> remove the USE_HOSTCC #define's from around this function.
> 
> 
>  > I think that a lot of
>  > useful functions (ifdef-ed by USE_HOSTCC) should be available also in
>  > u-boot code, anyway the linker will drop the unused functions.
> 
> I don't think the linker will do this in case of U-Boot:
> 
> With the following patch:
> 
> diff --git a/common/image.c b/common/image.c
> index f04826a..850a9e4 100644
> --- a/common/image.c
> +++ b/common/image.c
> @@ -1950,7 +1950,6 @@ static int calculate_hash (const void *data, int 
> data_len,
>   	return 0;
>   }
> 
> -#ifdef USE_HOSTCC
>   /**
>    * fit_set_hashes - process FIT component image nodes and calculate hashes
>    * @fit: pointer to the FIT format image header
> @@ -2119,7 +2118,6 @@ int fit_image_hash_set_value (void *fit, int 
> noffset, uint
> 
>   	return 0;
>   }
> -#endif /* USE_HOSTCC */
> 
>   /**
>    * fit_image_check_hashes - verify data intergity
> 
> 
> I see:
> 
> $ ${CROSS_COMPILE}nm -S common/image.o | grep fit_image_set_hashes
> 0000155c 000001f4 T fit_image_set_hashes
> $ ${CROSS_COMPILE}nm -S common/libcommon.a | grep fit_image_set_hashes
> 0000155c 000001f4 T fit_image_set_hashes
> $ ${CROSS_COMPILE}nm -S u-boot | grep fit_image_set_hashes
> fffb1924 000001f4 T fit_image_set_hashes
> 
> 
> There's also size increase with the patch applied:
>     text    data     bss     dec     hex filename
>   284615   15556  357120  657291   a078b ./u-boot
> 
>     text    data     bss     dec     hex filename
>   285875   15572  357120  658567   a0c87 u-boot
> 
> 

Before to make this test, you should strip the elf-file in order to omit
the non-used code. Alternatively you should check the size of the
u-boot.bin file (that is striped by definition).

Best regards.

luigi

> HTH,
> Bartlomiej
-- 
     ______       Luigi Mantellini
   .'______'.     R&D - Software
  (.'      '.)    Industrie Dial Face S.p.A.
  ( :=----=: )    Via Canzo, 4
  ('.______.')    20068 Peschiera Borromeo (MI), Italy
   '.______.'     Tel.: +39 02 5167 2813
                  Fax:  +39 02 5167 2459
Ind.  Dial Face   Email: luigi.mantellini at idf-hit.com
www.idf-hit.com   GPG fingerprint: 3DD1 7B71 FBDF 6376 1B4A
                                   B003 175F E979 907E 1650

  reply	other threads:[~2008-04-03  9:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-27 11:13 [U-Boot-Users] New Image format: headers hashes Luigi 'Comio' Mantellini
2008-03-27 16:06 ` Luigi 'Comio' Mantellini
2008-03-27 22:26   ` Luigi 'Comio' Mantellini
2008-04-03  9:31   ` Bartlomiej Sieka
2008-04-03  9:51     ` Luigi 'Comio' Mantellini [this message]
2008-04-03 11:48       ` Bartlomiej Sieka
2008-04-03 12:55         ` Luigi 'Comio' Mantellini

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=1207216264.27240.12.camel@localhost \
    --to=luigi.mantellini@idf-hit.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