[U-Boot] [PATCH] cmd_fdt: save fdtaddr in hex format

Sudeep Holla sudeep.holla at arm.com
Fri Jul 3 19:29:04 CEST 2015


Commit 90fbee3e4051 ("cmd_fdt: Actually fix fdt command in sandbox")
changed the format(from hex address to unsigned long) in which "fdtaddr"
is saved . However do_fdt continues reads the "fdtaddr" assuming it to
be in hex format. This may lead to fdt being either loaded or attempted
to load at erroneous address generating fault if the address is out of
memory.

This patch changes back the format to hex while saving the "fdtaddr"
as it was done before.

Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Tom Rini <trini at konsulko.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Hua Yanghao <huayanghao at gmail.com>
Cc: Heiko Schocher <hs at denx.de>
---
 common/cmd_fdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Hi,

You will see my signoff missing and it's intentional as I officially
can't contribute to Uboot. I found this issue and it's been there for a
while now, so thought of atleast reporting it(with a patch). So if anyone
can review and submit this or any appropriate fix that would be great.
I see this issue on vexpress TC2.

Regards,
Sudeep

diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index 682b6553958f..4c18962d8532 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -45,7 +45,7 @@ void set_working_fdt_addr(ulong addr)

 	buf = map_sysmem(addr, 0);
 	working_fdt = buf;
-	setenv_ulong("fdtaddr", addr);
+	setenv_hex("fdtaddr", addr);
 }

 /*
--
1.9.1



More information about the U-Boot mailing list