aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut+renesas@mailbox.org>2023-03-02 04:08:22 +0100
committerSimon Glass <sjg@chromium.org>2023-03-09 08:50:47 -0800
commitb363da1c26c96a831d3ffcbd1d4997ec3d340009 (patch)
tree269878db7faf0f87c8c091dc87ed01c843f1604b
parent98d114e75c888ed7a8313a14e778f45d388199c4 (diff)
downloadu-boot-b363da1c26c96a831d3ffcbd1d4997ec3d340009.zip
u-boot-b363da1c26c96a831d3ffcbd1d4997ec3d340009.tar.gz
u-boot-b363da1c26c96a831d3ffcbd1d4997ec3d340009.tar.bz2
cmd: fdt: Map address returned from fdt get addr to sysmem
The address returned from 'fdt get addr' command must be mapped into sysmem, as this is a working FDT. Access to this address without mapping it would lead to crash e.g. in sandbox. The following command triggers the crash: " ./u-boot -Dc 'fdt addr $fdtcontroladdr ; fdt get addr var / compatible ; md $var' " Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--cmd/fdt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cmd/fdt.c b/cmd/fdt.c
index bc19303..f2576ab 100644
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -468,7 +468,8 @@ static int do_fdt(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
/* Get address */
char buf[19];
- snprintf(buf, sizeof(buf), "0x%p", nodep);
+ snprintf(buf, sizeof(buf), "0x%lx",
+ (ulong)map_to_sysmem(nodep));
env_set(var, buf);
} else if (subcmd[0] == 's') {
/* Get size */