mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-12-07 18:41:45 +01:00
common/cmd_bootm.c: prevent running of subcommands before 'bootm start'
The execution order of the bootm subcommands is fixed.
Although here is a sanity check in the state machine
which should prevent running the subcommands in wrong
order but it does not catch all possible errors.
It is possible to run any subcommand without running
'bootm start' first which leads to unexpected behaviour.
For example, running 'bootm loados' without 'bootm start'
causes a hang:
U-Boot> bootm loados
XIP Invalid Image ... OK
OK
Add a sanity check to 'do_bootm_subcommand' in order
to ensure that no subcommands can be executed before
'bootm start'.
After the patch running of any subcommand without running
'bootm start' will cause an error like this:
U-Boot> bootm loados
Trying to execute a command out of order
bootm - boot application image from memory
Usage:
bootm [addr [arg ...]]
- boot application image stored in memory
...
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
This commit is contained in:
parent
ac1048ae1c
commit
0f3073433c
@ -498,7 +498,8 @@ static int do_bootm_subcommand(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
|
||||
if (images.state >= state) {
|
||||
if (images.state < BOOTM_STATE_START ||
|
||||
images.state >= state) {
|
||||
printf("Trying to execute a command out of order\n");
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user