[PATCH] arch/arm/lib/bootm: fix length check of kernel image

Sascha Hauer s.hauer at pengutronix.de
Tue Jul 22 12:45:28 PDT 2014


On Tue, Jul 22, 2014 at 11:14:26AM +0200, basti at linux-source.de wrote:
> Hi Sascha,

(Adding back the list to Cc)

> 
> >>Signed-off-by: Sebastian Block <basti at linux-source.de>
> >>---
> >> arch/arm/lib/bootm.c |    2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >>diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> >>index 4896d01..d9b9111 100644
> >>--- a/arch/arm/lib/bootm.c
> >>+++ b/arch/arm/lib/bootm.c
> >>@@ -314,7 +314,7 @@ static int do_bootz_linux(struct image_data *data)
> >> 			image_size - sizeof(*header));
> >> 	if (ret < 0)
> >> 		goto err_out;
> >>-	if (ret < end - sizeof(*header)) {
> >>+	if (ret < image_size - sizeof(*header)) {
> >
> >Did this cause any real trouble? I was quite surprised when I saw that
> >patch. After a test I saw that for me 'image_size' has the same
> >value as
> >'end'.
> 
> I run into trouble with it, caused by variable end contains memory
> address of the image not the size as returned by read_full.

Hm, this must have something to do with your kernel configuration. Maybe
you have CONFIG_ARM_PATCH_PHYS_VIRT disabled in your kernel.

Anyway, applied this patch to current master.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list