mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] arm: bootm: don't fall over if image is padded with less than 40 bytes
@ 2017-10-20 17:00 Lucas Stach
  2017-10-23  7:13 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Lucas Stach @ 2017-10-20 17:00 UTC (permalink / raw)
  To: barebox

If the zImage has a padding, which is less than 40 bytes
(sizeof struct fdt_header) the amount of read bytes would be propagated
as an error code. Fix this by only propagating real errors and treating
failure to read less than the expected amount as no concatenated DT
being present.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
 arch/arm/lib/bootm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 8068a53be0a5..25efb42541f9 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -250,8 +250,10 @@ static int do_bootz_linux_fdt(int fd, struct image_data *data)
 
 	header = &__header;
 	ret = read(fd, header, sizeof(*header));
-	if (ret < sizeof(*header))
+	if (ret < 0)
 		return ret;
+	if (ret < sizeof(*header))
+		return -ENXIO;
 
 	if (file_detect_type(header, sizeof(*header)) != filetype_oftree)
 		return -ENXIO;
-- 
2.11.0


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] arm: bootm: don't fall over if image is padded with less than 40 bytes
  2017-10-20 17:00 [PATCH] arm: bootm: don't fall over if image is padded with less than 40 bytes Lucas Stach
@ 2017-10-23  7:13 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2017-10-23  7:13 UTC (permalink / raw)
  To: Lucas Stach; +Cc: barebox

On Fri, Oct 20, 2017 at 07:00:56PM +0200, Lucas Stach wrote:
> If the zImage has a padding, which is less than 40 bytes
> (sizeof struct fdt_header) the amount of read bytes would be propagated
> as an error code. Fix this by only propagating real errors and treating
> failure to read less than the expected amount as no concatenated DT
> being present.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---

Applied, thanks

Sascha

>  arch/arm/lib/bootm.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index 8068a53be0a5..25efb42541f9 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -250,8 +250,10 @@ static int do_bootz_linux_fdt(int fd, struct image_data *data)
>  
>  	header = &__header;
>  	ret = read(fd, header, sizeof(*header));
> -	if (ret < sizeof(*header))
> +	if (ret < 0)
>  		return ret;
> +	if (ret < sizeof(*header))
> +		return -ENXIO;
>  
>  	if (file_detect_type(header, sizeof(*header)) != filetype_oftree)
>  		return -ENXIO;
> -- 
> 2.11.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
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 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-10-23  7:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-20 17:00 [PATCH] arm: bootm: don't fall over if image is padded with less than 40 bytes Lucas Stach
2017-10-23  7:13 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox