[U-Boot] [RFC][PATCH] Prevent crash if random DTB address is passed to bootm

This patch adds bootm_start() return value check. If error status is returned, we do not proceed further to prevent board reset or crash as we still can recover at this point.
Signed-off-by: Anatolij Gustschin agust@denx.de --- common/cmd_bootm.c | 3 ++- common/image.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 0db7b75..374085c 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -361,7 +361,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) ulong load_end = 0; int ret;
- bootm_start(cmdtp, flag, argc, argv); + if (bootm_start(cmdtp, flag, argc, argv)) + return 1;
/* * We have reached the point of no return: we are going to diff --git a/common/image.c b/common/image.c index 55c4cce..0acdcf1 100644 --- a/common/image.c +++ b/common/image.c @@ -1516,7 +1516,7 @@ int boot_get_fdt (int flag, int argc, char *argv[], bootm_headers_t *images, } break; default: - fdt_error ("Did not find a cmdline Flattened Device Tree"); + puts ("ERROR: Did not find a cmdline Flattened Device Tree\n"); goto error; }

Dear Anatolij Gustschin,
In message 1220036685-12294-1-git-send-email-agust@denx.de you wrote:
This patch adds bootm_start() return value check. If error status is returned, we do not proceed further to prevent board reset or crash as we still can recover at this point.
Signed-off-by: Anatolij Gustschin agust@denx.de
common/cmd_bootm.c | 3 ++- common/image.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
participants (2)
-
Anatolij Gustschin
-
Wolfgang Denk