Projects
openEuler:Mainline
grub2
_service:tar_scm:fix-setupmode-not-available-in...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:fix-setupmode-not-available-in-some-machine.patch of Package grub2
From 4fc72f509627da808b452eb1186282237c449b65 Mon Sep 17 00:00:00 2001 From: fengtao <fengtao40@huawei.com> Date: Tue, 22 Mar 2022 22:22:22 +0800 Subject: [PATCH] fix setupmode not available in some machine In some machine, there is no setupmode variable, so we should give setupmode a default vaule: setup_mode = 0 if we cannot get setupmode variable, we use setup_mode instead. --- grub-core/kern/efi/sb.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c index c52ec62..f58fb13 100644 --- a/grub-core/kern/efi/sb.c +++ b/grub-core/kern/efi/sb.c @@ -50,6 +50,7 @@ grub_efi_get_secureboot (void) grub_uint8_t *moksbstate = NULL; grub_uint8_t secureboot = GRUB_EFI_SECUREBOOT_MODE_UNKNOWN; const char *secureboot_str = "UNKNOWN"; + grub_uint8_t setup_mode = 0; status = grub_efi_get_variable ("SecureBoot", &efi_variable_guid, &size, (void **) &secboot); @@ -67,9 +68,16 @@ grub_efi_get_secureboot (void) &size, (void **) &setupmode); if (status != GRUB_EFI_SUCCESS) - goto out; + { + grub_dprintf ("efi", "No SetupMode variable\n"); + } + else + { + grub_dprintf ("efi", "SetupMode: %d\n", *setupmode); + setup_mode = *setupmode; + } - if ((*secboot == 0) || (*setupmode == 1)) + if ((*secboot == 0) || (setup_mode == 1)) { secureboot = GRUB_EFI_SECUREBOOT_MODE_DISABLED; goto out; -- 2.23.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.