Bug 2014257
| Summary: | shim doesn't load anything but grub | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Roman Kagan <rvkagan> |
| Component: | shim | Assignee: | Peter Jones <pjones> |
| Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 34 | CC: | fmartine, mjg59, pbrobinson, pjones, rharwood |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2021-11-29 21:43:13 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Roman Kagan
2021-10-14 18:08:39 UTC
AFAICT from the source code, shim.c:set_second_state:
EFI_STATUS set_second_stage (EFI_HANDLE image_handle)
{
...
UINTN loader_len = 0;
...
UINTN strings = count_ucs2_strings(li->LoadOptions,
li->LoadOptionsSize);
...
if (strings == 0) {
efi_status = get_load_option_optional_data(li->LoadOptions,
li->LoadOptionsSize,
(UINT8 **)&start,
&loader_len);
...
} else if (strings >= 2) {
...
} else if (strings == 1 && is_our_path(li, start)) {
...
}
...
if (loader_len > 0) {
loader_str = ... make a copy of the loader path ...;
...
second_stage = loader_str;
...
}
...
}
that is, in the case where the path of the second stage is found in li->LoadOptions as a string rather than a full-fledged EFI_LOAD_OPTION, loader_len remains 0 and second_stage is not updated with the string just found, so shim loads the default second stage (grubx64.efi) regardless of the options.
FWIW the code on branch shim-15.5 seems to have this problem resolved.
*** This bug has been marked as a duplicate of bug 2010595 *** |