From a2f2c015cb545a0c1060bd30c59df567b856bc17 Mon Sep 17 00:00:00 2001 From: Joel Kitching Date: Sun, 17 May 2020 20:33:05 +0800 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2203301 Reviewed-by: Joel Kitching Reviewed-by: Yu-Ping Wu Tested-by: Joel Kitching Commit-Queue: Joel Kitching --- firmware/2lib/2misc.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'firmware') 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) -- cgit v1.2.1