From: Steven Falco <stevenfalco@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] Prevent a U-Boot crash on Wandboard
Date: Sun, 22 Sep 2013 21:21:32 -0400 [thread overview]
Message-ID: <523F979C.1070205@gmail.com> (raw)
Prevent a crash when PXE boot calls do_bootm with a vmlinuz formatted image.
In this case, there will be a null cmdtp pointer, and we must not dereference
it.
Signed-off-by: Steven A. Falco <stevenfalco@gmail.com>
---
In file cmd_pxe.c around line 687 is a call:
do_bootm(NULL, 0, bootm_argc, bootm_argv);
Notice that the first argument is NULL. Therefore, the cmdtp
pointer will always be NULL when using the pxe boot mechanism.
do_bootm() eventually calls boot_get_kernel(), still with cmdtp == NULL.
In the Wandboard case, the vmlinuz binary is not "legacy format", nor is
it "fit format", so U-Boot attempts to print:
printf("Wrong Image Format for %s command\n", cmdtp->name);
That is doomed to fail, because cmdtp is NULL. The following patch corrects
the problem; the command name will be printed only if the pointer is valid.
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 349f165..2249682 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -985,7 +985,10 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
break;
#endif
default:
- printf("Wrong Image Format for %s command\n", cmdtp->name);
+ if (cmdtp)
+ printf("Wrong Image Format for %s command\n", cmdtp->name);
+ else
+ printf("Wrong Image Format for command\n");
bootstage_error(BOOTSTAGE_ID_FIT_KERNEL_INFO);
return NULL;
}
next reply other threads:[~2013-09-23 1:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-23 1:21 Steven Falco [this message]
2013-09-23 11:40 ` [U-Boot] [PATCH] Prevent a U-Boot crash on Wandboard Otavio Salvador
2013-09-23 18:47 ` Wolfgang Denk
2013-09-23 16:11 ` Albert ARIBAUD
2013-09-23 16:21 ` Fabio Estevam
2013-09-23 18:18 ` Tom Rini
2013-09-23 18:50 ` Wolfgang Denk
2013-09-23 19:17 ` Tom Rini
2013-09-23 19:45 ` Tom Rini
2013-09-23 20:44 ` Wolfgang Denk
2013-09-23 23:23 ` Steven Falco
2013-09-23 20:43 ` Wolfgang Denk
2013-09-23 18:45 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=523F979C.1070205@gmail.com \
--to=stevenfalco@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.