diff options
| author | Sam Protsenko <[email protected]> | 2025-10-03 17:27:14 -0500 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-10-13 14:54:33 -0600 |
| commit | 3b278dd9e6643a9f75ef108d229c619e197067d0 (patch) | |
| tree | 745d4b846567d3fed661286a212d718549c14c4b /cmd/bootflow.c | |
| parent | ee7d07f9d00eeecab6671d8db2c8d22cd8b13d89 (diff) | |
bootstd: Fix bootflow info for efi_mgr
A "Synchronous Abort" CPU exception happens on an attempt to run the
"bootflow info" command for a global boot method (e.g. efi_mgr):
=> bootflow select 0
=> bootflow info
"Synchronous Abort" handler, esr 0x96000006, far 0x8
It happens because do_bootflow_info() tries to dereference bflow->dev,
which is NULL in case of efi_mgr. Add the corresponding check to prevent
this NULL pointer dereference and make "bootflow info" command work
properly for global boot methods.
Fixes: 2d653f686b6d ("bootstd: Add a bootflow command")
Signed-off-by: Sam Protsenko <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Mattijs Korpershoek <[email protected]>
Diffstat (limited to 'cmd/bootflow.c')
| -rw-r--r-- | cmd/bootflow.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cmd/bootflow.c b/cmd/bootflow.c index 551dffbb8b8..081f64e12ce 100644 --- a/cmd/bootflow.c +++ b/cmd/bootflow.c @@ -404,7 +404,7 @@ static int do_bootflow_info(struct cmd_tbl *cmdtp, int flag, int argc, } printf("Name: %s\n", bflow->name); - printf("Device: %s\n", bflow->dev->name); + printf("Device: %s\n", bflow->dev ? bflow->dev->name : "(none)"); printf("Block dev: %s\n", bflow->blk ? bflow->blk->name : "(none)"); printf("Method: %s\n", bflow->method->name); printf("State: %s\n", bootflow_state_get_name(bflow->state)); |
