diff options
author | Marek Vasut <marek.vasut+renesas@mailbox.org> | 2023-03-02 04:08:22 +0100 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-03-08 11:40:57 -0800 |
commit | c2a5d1078027b6c0480eda45bd4d2eae80ceb67e (patch) | |
tree | dd51622cf055c17eb615d947567cd98f664bfcda /cmd | |
parent | 22cbd654d33f60b7d7941c4ba2484bcc610f4e50 (diff) | |
download | u-boot-c2a5d1078027b6c0480eda45bd4d2eae80ceb67e.zip u-boot-c2a5d1078027b6c0480eda45bd4d2eae80ceb67e.tar.gz u-boot-c2a5d1078027b6c0480eda45bd4d2eae80ceb67e.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>
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/fdt.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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 */ |