forked from pool/grub2
This commit is contained in:
parent
014d0e9f0b
commit
9e39bbe6e5
@ -1,41 +0,0 @@
|
|||||||
From 892dfbe113d08c18e51d7c27eee5094f3da530ec Mon Sep 17 00:00:00 2001
|
|
||||||
From: Andrei Borzenkov <arvidjaar@gmail.com>
|
|
||||||
Date: Sat, 25 Feb 2017 08:39:38 +0300
|
|
||||||
Subject: [PATCH] efi: strip off final NULL from File Path in
|
|
||||||
grub_efi_get_filename
|
|
||||||
|
|
||||||
UEFI 2.6 9.3.6.4 File Path Media Device Path says that Path Name is
|
|
||||||
"A NULL-terminated Path string including directory and file names".
|
|
||||||
|
|
||||||
Strip final NULL from Path Name in each File Path node when constructing
|
|
||||||
full path. To be on safe side, strip all of them.
|
|
||||||
|
|
||||||
Fixes failure chainloading grub from grub, when loaded grub truncates
|
|
||||||
image path and does not find its grub.cfg.
|
|
||||||
|
|
||||||
https://bugzilla.opensuse.org/show_bug.cgi?id=1026344
|
|
||||||
|
|
||||||
This was triggered by commit ce95549cc54b5d6f494608a7c390dba3aab4fba7;
|
|
||||||
before it we built Path Name without trailing NULL, and apparently all
|
|
||||||
other bootloaders use single File Path node, thus not exposing this bug.
|
|
||||||
---
|
|
||||||
grub-core/kern/efi/efi.c | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
|
|
||||||
index caf9bcc..d467785 100644
|
|
||||||
--- a/grub-core/kern/efi/efi.c
|
|
||||||
+++ b/grub-core/kern/efi/efi.c
|
|
||||||
@@ -366,6 +366,9 @@ grub_efi_get_filename (grub_efi_device_path_t *dp0)
|
|
||||||
len = ((GRUB_EFI_DEVICE_PATH_LENGTH (dp) - 4)
|
|
||||||
/ sizeof (grub_efi_char16_t));
|
|
||||||
fp = (grub_efi_file_path_device_path_t *) dp;
|
|
||||||
+ /* According to EFI spec Path Name is NULL terminated */
|
|
||||||
+ while (len > 0 && fp->path_name[len - 1] == 0)
|
|
||||||
+ len--;
|
|
||||||
|
|
||||||
p = (char *) grub_utf16_to_utf8 ((unsigned char *) p, fp->path_name, len);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.6.6
|
|
||||||
|
|
@ -1,21 +1,13 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Wed Mar 1 10:29:46 UTC 2017 - mchang@suse.com
|
|
||||||
|
|
||||||
- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344)
|
|
||||||
* added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch
|
|
||||||
* removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Feb 23 15:06:44 UTC 2017 - mchang@suse.com
|
|
||||||
|
|
||||||
- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344)
|
|
||||||
* 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Feb 17 06:46:11 UTC 2017 - mchang@suse.com
|
Fri Feb 17 06:46:11 UTC 2017 - mchang@suse.com
|
||||||
|
|
||||||
- grub2.spec: fix s390x file list.
|
- grub2.spec: fix s390x file list.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Feb 16 12:55:29 UTC 2017 - msuchanek@suse.com
|
||||||
|
|
||||||
|
- require efibootmgr in efi package (boo#1025520)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Feb 15 07:25:02 UTC 2017 - mchang@suse.com
|
Wed Feb 15 07:25:02 UTC 2017 - mchang@suse.com
|
||||||
|
|
||||||
|
14
grub2.spec
14
grub2.spec
@ -206,7 +206,6 @@ Patch77: grub2-s390x-08-workaround-part-to-disk.patch
|
|||||||
Patch78: grub2-commands-introduce-read_file-subcommand.patch
|
Patch78: grub2-commands-introduce-read_file-subcommand.patch
|
||||||
Patch79: grub2-efi-chainload-harder.patch
|
Patch79: grub2-efi-chainload-harder.patch
|
||||||
Patch80: grub2-emu-4-all.patch
|
Patch80: grub2-emu-4-all.patch
|
||||||
Patch81: 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch
|
|
||||||
# Btrfs snapshot booting related patches
|
# Btrfs snapshot booting related patches
|
||||||
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
|
Patch101: grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch
|
||||||
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
|
Patch102: grub2-btrfs-02-export-subvolume-envvars.patch
|
||||||
@ -337,19 +336,11 @@ provides support for %{platform} systems.
|
|||||||
%package %{grubefiarch}
|
%package %{grubefiarch}
|
||||||
|
|
||||||
Summary: Bootloader with support for Linux, Multiboot and more
|
Summary: Bootloader with support for Linux, Multiboot and more
|
||||||
|
# Require efibootmgr
|
||||||
|
# Without it grub-install is broken so break the package as well if unavailable
|
||||||
Group: System/Boot
|
Group: System/Boot
|
||||||
%ifarch ia64 x86_64 aarch64
|
|
||||||
#Package is available on ia64, x86_64 and aarch64 only and not necessarily needed
|
|
||||||
Requires: efibootmgr
|
Requires: efibootmgr
|
||||||
Requires(post): efibootmgr
|
Requires(post): efibootmgr
|
||||||
%endif
|
|
||||||
# Also require efibootmgr on i586 Tumbleweed where it is available
|
|
||||||
%if 0%{?suse_version} > 1320
|
|
||||||
%ifarch i586
|
|
||||||
Requires: efibootmgr
|
|
||||||
Requires(post): efibootmgr
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires(post): %{name} = %{version}-%{release}
|
Requires(post): %{name} = %{version}-%{release}
|
||||||
%if 0%{?update_bootloader_requires:1}
|
%if 0%{?update_bootloader_requires:1}
|
||||||
@ -462,7 +453,6 @@ swap partition while in resuming
|
|||||||
%patch78 -p1
|
%patch78 -p1
|
||||||
%patch79 -p1
|
%patch79 -p1
|
||||||
%patch80 -p1
|
%patch80 -p1
|
||||||
%patch81 -p1
|
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
%patch103 -p1
|
%patch103 -p1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user