vboot/ui: Disallow Ctrl-S when GBB forces dev mode
When GBB forces developer mode (VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON), disallow Ctrl-S shortcut in developer screens. Beep and show an error message when Ctrl-S is pressed. BRANCH=zork BUG=b:146399181, b:164975737 TEST=export CC=x86_64-pc-linux-gnu-clang; make runtests TEST=emerge-nami depthcharge Cq-Depend: chromium:2397556 Change-Id: I62d18575290498b7ae829c2b3a2ff8dda6679636 Signed-off-by: Yu-Ping Wu <yupingso@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2390593 Reviewed-by: Hsuan Ting Chen <roccochen@chromium.org>
This commit is contained in:
parent
4bb06cc1b7
commit
750da40fb8
|
@ -810,6 +810,21 @@ static const struct vb2_screen_info developer_mode_screen = {
|
|||
/******************************************************************************/
|
||||
/* VB2_SCREEN_DEVELOPER_TO_NORM */
|
||||
|
||||
#define DEVELOPER_TO_NORM_ITEM_CONFIRM 1
|
||||
|
||||
static vb2_error_t developer_to_norm_init(struct vb2_ui_context *ui)
|
||||
{
|
||||
/* Don't allow to-norm if GBB forces dev mode */
|
||||
if (vb2_get_gbb(ui->ctx)->flags & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON) {
|
||||
VB2_DEBUG("ERROR: to-norm not allowed\n");
|
||||
ui->error_beep = 1;
|
||||
ui->error_code = VB2_UI_ERROR_TO_NORM_NOT_ALLOWED;
|
||||
return vb2_ui_screen_back(ui);
|
||||
}
|
||||
ui->state->selected_item = DEVELOPER_TO_NORM_ITEM_CONFIRM;
|
||||
return VB2_REQUEST_UI_CONTINUE;
|
||||
}
|
||||
|
||||
vb2_error_t developer_to_norm_action(struct vb2_ui_context *ui)
|
||||
{
|
||||
if (vb2_get_gbb(ui->ctx)->flags & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON) {
|
||||
|
@ -838,6 +853,7 @@ static const struct vb2_menu_item developer_to_norm_items[] = {
|
|||
static const struct vb2_screen_info developer_to_norm_screen = {
|
||||
.id = VB2_SCREEN_DEVELOPER_TO_NORM,
|
||||
.name = "Transition to normal mode",
|
||||
.init = developer_to_norm_init,
|
||||
.menu = MENU_ITEMS(developer_to_norm_items),
|
||||
};
|
||||
|
||||
|
|
|
@ -1332,6 +1332,8 @@ enum vb2_ui_error {
|
|||
VB2_UI_ERROR_NONE = 0,
|
||||
/* Dev mode already enabled */
|
||||
VB2_UI_ERROR_DEV_MODE_ALREADY_ENABLED,
|
||||
/* To-norm not allowed */
|
||||
VB2_UI_ERROR_TO_NORM_NOT_ALLOWED,
|
||||
/* Debug info screen initialization failed */
|
||||
VB2_UI_ERROR_DEBUG_LOG,
|
||||
/* Firmware log screen initialization failed */
|
||||
|
|
Loading…
Reference in New Issue