diff options
author | Joel Kitching <kitching@google.com> | 2020-05-17 20:33:05 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-05-18 16:13:11 +0000 |
commit | a2f2c015cb545a0c1060bd30c59df567b856bc17 (patch) | |
tree | d34649cbdb84bc564ce6ce73861391d9e08dee1b /firmware/2lib/2misc.c | |
parent | 1cb270074bbd26d83316b62de30812eff9c962b4 (diff) | |
download | vboot-a2f2c015cb545a0c1060bd30c59df567b856bc17.tar.gz |
vboot: make dev boot target functions consistent
vb2_get_dev_boot_target() should only return:
BOOT_USB iff vb2_dev_boot_usb_allowed()
BOOT_LEGACY iff vb2_dev_boot_legacy_allowed()
Otherwise, fallback to BOOT_DISK.
BUG=None
TEST=make clean && make runtests
BRANCH=none
Change-Id: Ic67915d0888f640f6e7b04c91f99346412cc18ee
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2203301
Reviewed-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'firmware/2lib/2misc.c')
-rw-r--r-- | firmware/2lib/2misc.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c index baa50132..b5788e30 100644 --- a/firmware/2lib/2misc.c +++ b/firmware/2lib/2misc.c @@ -514,7 +514,19 @@ enum vb2_dev_default_boot vb2_get_dev_boot_target( if (gbb->flags & VB2_GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY) return VB2_DEV_DEFAULT_BOOT_LEGACY; - return vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT); + switch (vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT)) { + case VB2_DEV_DEFAULT_BOOT_USB: + if (vb2_dev_boot_usb_allowed(ctx)) + return VB2_DEV_DEFAULT_BOOT_USB; + break; + + case VB2_DEV_DEFAULT_BOOT_LEGACY: + if (vb2_dev_boot_legacy_allowed(ctx)) + return VB2_DEV_DEFAULT_BOOT_LEGACY; + break; + } + + return VB2_DEV_DEFAULT_BOOT_DISK; } int vb2_dev_boot_allowed(struct vb2_context *ctx) |