Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock grub2 2.02+dfsg1-18. #927888 is RC; #927269 possibly should be RC since it entirely breaks one of GRUB's platforms; and #919915 causes upgrade trouble if you run into it. (Apologies for the .gitignore/.bzrignore noise, which is the result of switching to using dgit as of this upload. But it's easy enough to, er, ignore.) I don't remember if it needs to be done separately, but I've included the -signed versions in this unblock request just in case, since they should all go in together. unblock grub2/2.02+dfsg1-18 unblock grub-efi-amd64-signed/1+2.02+dfsg1+18 unblock grub-efi-arm64-signed/1+2.02+dfsg1+18 unblock grub-efi-ia32-signed/1+2.02+dfsg1+18 diff -Nru grub2-2.02+dfsg1/debian/.git-dpm grub2-2.02+dfsg1/debian/.git-dpm --- grub2-2.02+dfsg1/debian/.git-dpm 2019-03-23 13:48:41.000000000 +0000 +++ grub2-2.02+dfsg1/debian/.git-dpm 2019-05-04 22:58:32.000000000 +0100 @@ -1,6 +1,6 @@ # see git-dpm(1) from git-dpm package -3ddfe605a6a472100f529c3d7465bf4eb7fe954d -3ddfe605a6a472100f529c3d7465bf4eb7fe954d +9569221816a2a1a832be106440375a612e0121b7 +9569221816a2a1a832be106440375a612e0121b7 59aeb1cfaa3d5bfd7bbeeee0f0d37f6d9eed51fe 59aeb1cfaa3d5bfd7bbeeee0f0d37f6d9eed51fe grub2_2.02+dfsg1.orig.tar.xz diff -Nru grub2-2.02+dfsg1/debian/.gitignore grub2-2.02+dfsg1/debian/.gitignore --- grub2-2.02+dfsg1/debian/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/.gitignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,110 @@ +*.bash-completion +*.config +*.debhelper* +*.postinst +*.postrm +*.preinst +*.templates +files +grub-common +grub-common.maintscript +grub-coreboot +grub-coreboot*.dirs +grub-coreboot*.install +grub-coreboot*.links +grub-coreboot*.maintscript +grub-coreboot-bin +grub-coreboot-dbg +grub-efi +grub-efi-amd64 +grub-efi-amd64*.dirs +grub-efi-amd64*.install +grub-efi-amd64*.links +grub-efi-amd64*.maintscript +grub-efi-amd64-bin +grub-efi-amd64-dbg +grub-efi-amd64-signed-template +grub-efi-arm +grub-efi-arm*.dirs +grub-efi-arm*.install +grub-efi-arm*.links +grub-efi-arm*.maintscript +grub-efi-arm-bin +grub-efi-arm-dbg +grub-efi-arm64 +grub-efi-arm64*.dirs +grub-efi-arm64*.install +grub-efi-arm64*.links +grub-efi-arm64*.maintscript +grub-efi-arm64-bin +grub-efi-arm64-dbg +grub-efi-arm64-signed-template +grub-efi-ia32 +grub-efi-ia32*.dirs +grub-efi-ia32*.install +grub-efi-ia32*.links +grub-efi-ia32*.maintscript +grub-efi-ia32-bin +grub-efi-ia32-dbg +grub-efi-ia32-signed-template +grub-efi-ia64 +grub-efi-ia64*.dirs +grub-efi-ia64*.install +grub-efi-ia64*.links +grub-efi-ia64*.maintscript +grub-efi-ia64-bin +grub-efi-ia64-dbg +grub-emu +grub-emu*.dirs +grub-emu*.install +grub-emu*.links +grub-emu*.maintscript +grub-emu-dbg +grub-extras-enabled +grub-extras/*/conf/*.mk +grub-firmware-qemu +grub-ieee1275 +grub-ieee1275*.dirs +grub-ieee1275*.install +grub-ieee1275*.links +grub-ieee1275*.maintscript +grub-ieee1275-bin +grub-ieee1275-dbg +grub-linuxbios +grub-mount-udeb +grub-pc +grub-pc*.dirs +grub-pc*.install +grub-pc*.links +grub-pc*.maintscript +grub-pc-bin +grub-pc-dbg +grub-rescue-pc +grub-theme-starfield +grub-uboot +grub-uboot*.dirs +grub-uboot*.install +grub-uboot*.links +grub-uboot*.maintscript +grub-uboot-bin +grub-uboot-dbg +grub-xen +grub-xen*.dirs +grub-xen*.install +grub-xen*.links +grub-xen*.maintscript +grub-xen-bin +grub-xen-dbg +grub-xen-host +grub-yeeloong +grub-yeeloong*.dirs +grub-yeeloong*.install +grub-yeeloong*.links +grub-yeeloong*.maintscript +grub-yeeloong-bin +grub-yeeloong-dbg +grub2 +grub2-common +prep-bootdev +stamps +tmp-* diff -Nru grub2-2.02+dfsg1/debian/changelog grub2-2.02+dfsg1/debian/changelog --- grub2-2.02+dfsg1/debian/changelog 2019-03-23 23:28:17.000000000 +0000 +++ grub2-2.02+dfsg1/debian/changelog 2019-05-04 22:58:32.000000000 +0100 @@ -1,3 +1,24 @@ +grub2 (2.02+dfsg1-18) unstable; urgency=medium + + * Apply patches from Alexander Graf to fix grub-efi-arm crash (closes: + #927269): + - arm: Move trampolines into code section + - arm: Align section alignment with manual relocation offset code + * Make grub2-common Breaks+Replaces grub-cloud-amd64 (<< 0.0.4) to work + around that package shipping colliding configuration file names in + stretch-backports (closes: #919915). + * Apply patch from Peter Jones to forbid the "devicetree" command when + Secure Boot is enabled (closes: #927888). + + -- Colin Watson <cjwat...@debian.org> Sat, 04 May 2019 22:58:32 +0100 + +grub2 (2.02+dfsg1-17) unstable; urgency=medium + + * Make grub-efi-*-bin recommend efibootmgr. We don't actually use it any + more, but it's helpful for debugging. + + -- Colin Watson <cjwat...@debian.org> Mon, 15 Apr 2019 18:38:30 +0100 + grub2 (2.02+dfsg1-16) unstable; urgency=medium * Fix -Wcast-align diagnostics on ARM. diff -Nru grub2-2.02+dfsg1/debian/control grub2-2.02+dfsg1/debian/control --- grub2-2.02+dfsg1/debian/control 2019-03-23 13:48:37.000000000 +0000 +++ grub2-2.02+dfsg1/debian/control 2019-05-04 22:58:32.000000000 +0100 @@ -92,9 +92,9 @@ # of the package is not very useful in a utilities-only build. Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc any-sparc64 any-mipsel any-ia64 any-arm any-arm64 Depends: grub-common (= ${binary:Version}), dpkg (>= 1.15.4) | install-info, ${shlibs:Depends}, ${misc:Depends} -Replaces: grub, grub-legacy, ${legacy-doc-br}, grub-common (<< 1.99-1), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7) +Replaces: grub, grub-legacy, ${legacy-doc-br}, grub-common (<< 1.99-1), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7), grub-cloud-amd64 (<< 0.0.4) Conflicts: grub-legacy -Breaks: grub (<< 0.97-54), ${legacy-doc-br}, shim (<< 0.9+1474479173.6c180c6-0ubuntu1~), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7) +Breaks: grub (<< 0.97-54), ${legacy-doc-br}, shim (<< 0.9+1474479173.6c180c6-0ubuntu1~), grub-pc (<< 2.02+dfsg1-7), grub-coreboot (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7), grub-cloud-amd64 (<< 0.0.4) Multi-Arch: foreign Description: GRand Unified Bootloader (common files for version 2) This package contains common files shared by the distinct flavours of GRUB. @@ -247,7 +247,7 @@ Package: grub-efi-ia32-bin Architecture: any-i386 any-amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}) -Recommends: grub-efi-ia32-signed, +Recommends: grub-efi-ia32-signed, efibootmgr [linux-any] Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi, grub-efi-ia32 (<< 1.99-1) Multi-Arch: foreign XB-Efi-Vendor: ${efi:Vendor} @@ -308,7 +308,7 @@ Package: grub-efi-amd64-bin Architecture: i386 kopensolaris-i386 any-amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}) -Recommends: grub-efi-amd64-signed, +Recommends: grub-efi-amd64-signed, efibootmgr [linux-any] Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi-amd64 (<< 1.99-1) Multi-Arch: foreign XB-Efi-Vendor: ${efi:Vendor} @@ -418,6 +418,7 @@ Package: grub-efi-arm-bin Architecture: any-arm Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}) +Recommends: efibootmgr [linux-any] Multi-Arch: foreign XB-Efi-Vendor: ${efi:Vendor} Description: GRand Unified Bootloader, version 2 (ARM UEFI modules) @@ -468,7 +469,7 @@ Package: grub-efi-arm64-bin Architecture: any-arm64 Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}) -Recommends: grub-efi-arm64-signed, +Recommends: grub-efi-arm64-signed, efibootmgr [linux-any] Multi-Arch: foreign XB-Efi-Vendor: ${efi:Vendor} Description: GRand Unified Bootloader, version 2 (ARM64 UEFI modules) diff -Nru grub2-2.02+dfsg1/debian/grub-extras/915resolution/.bzrignore grub2-2.02+dfsg1/debian/grub-extras/915resolution/.bzrignore --- grub2-2.02+dfsg1/debian/grub-extras/915resolution/.bzrignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/grub-extras/915resolution/.bzrignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,3 @@ +**/.deps-core +**/.dirstamp +Makefile.core.am diff -Nru grub2-2.02+dfsg1/debian/grub-extras/disabled/gpxe/.bzrignore grub2-2.02+dfsg1/debian/grub-extras/disabled/gpxe/.bzrignore --- grub2-2.02+dfsg1/debian/grub-extras/disabled/gpxe/.bzrignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/grub-extras/disabled/gpxe/.bzrignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,3 @@ +**/.deps-core +**/.dirstamp +Makefile.core.am diff -Nru grub2-2.02+dfsg1/debian/grub-extras/disabled/zfs/.bzrignore grub2-2.02+dfsg1/debian/grub-extras/disabled/zfs/.bzrignore --- grub2-2.02+dfsg1/debian/grub-extras/disabled/zfs/.bzrignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/grub-extras/disabled/zfs/.bzrignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,5 @@ +**/.deps-core +**/.deps-util +**/.dirstamp +Makefile.core.am +Makefile.util.am diff -Nru grub2-2.02+dfsg1/debian/grub-extras/lua/.bzrignore grub2-2.02+dfsg1/debian/grub-extras/lua/.bzrignore --- grub2-2.02+dfsg1/debian/grub-extras/lua/.bzrignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/grub-extras/lua/.bzrignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,3 @@ +**/.deps-core +**/.dirstamp +Makefile.core.am diff -Nru grub2-2.02+dfsg1/debian/grub-extras/ntldr-img/.bzrignore grub2-2.02+dfsg1/debian/grub-extras/ntldr-img/.bzrignore --- grub2-2.02+dfsg1/debian/grub-extras/ntldr-img/.bzrignore 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/grub-extras/ntldr-img/.bzrignore 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,3 @@ +**/.deps-core +**/.dirstamp +Makefile.core.am diff -Nru grub2-2.02+dfsg1/debian/patches/arm-align-section-alignment-with-manual-reloc-offset.patch grub2-2.02+dfsg1/debian/patches/arm-align-section-alignment-with-manual-reloc-offset.patch --- grub2-2.02+dfsg1/debian/patches/arm-align-section-alignment-with-manual-reloc-offset.patch 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/patches/arm-align-section-alignment-with-manual-reloc-offset.patch 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,45 @@ +From 98e5faf41eb40e287dc00c79f461f5afa92d8a34 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <ag...@csgraf.de> +Date: Tue, 30 Apr 2019 22:43:57 +0200 +Subject: arm: Align section alignment with manual relocation offset code + +The arm relocation code has a manual special case for EFI binaries to +add the natural alignment to its own relocation awareness. + +Since commit a51f953f4ee87 ("mkimage: Align efi sections on 4k +boundary") we changed that alignment from 0x400 to 0x1000 bytes. Reflect +the change in that branch that we forgot as well. + +This fixes running 32bit arm grub efi binaries for me again. + +Fixes: a51f953f4ee87 ("mkimage: Align efi sections on 4k boundary") +Reported-by: Heinrich Schuchardt <xypron.g...@gmx.de> +Reported-by: Steve McIntyre <st...@einval.com> +Signed-off-by: Alexander Graf <ag...@csgraf.de> +Reviewed-by: Daniel Kiper <daniel.ki...@oracle.com> +Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org> +Tested-by: Julien ROBIN <julien.robi...@free.fr> +Tested-by: Leif Lindholm <leif.lindh...@linaro.org> + +Bug-Debian: https://bugs.debian.org/927269 +Origin: other, https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00132.html +Last-Update: 2019-05-03 + +Patch-Name: arm-align-section-alignment-with-manual-reloc-offset.patch +--- + util/grub-mkimagexx.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index 2f80e5abc..740b30483 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -1105,7 +1105,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, + (int) sym_addr, (int) sym_addr); + /* Data will be naturally aligned */ + if (image_target->id == IMAGE_EFI) +- sym_addr += 0x400; ++ sym_addr += GRUB_PE32_SECTION_ALIGNMENT; + *target = grub_host_to_target32 (grub_target_to_host32 (*target) + sym_addr); + } + break; diff -Nru grub2-2.02+dfsg1/debian/patches/arm-move-trampolines-into-code-section.patch grub2-2.02+dfsg1/debian/patches/arm-move-trampolines-into-code-section.patch --- grub2-2.02+dfsg1/debian/patches/arm-move-trampolines-into-code-section.patch 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/patches/arm-move-trampolines-into-code-section.patch 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,83 @@ +From 61f1b949b4b9302b664553cdc5c77cb6fea8f897 Mon Sep 17 00:00:00 2001 +From: Alexander Graf <ag...@csgraf.de> +Date: Tue, 30 Apr 2019 22:43:56 +0200 +Subject: arm: Move trampolines into code section + +When creating T32->A32 transition jumps, the relocation code in grub +will generate trampolines. These trampolines live in the .data section +of our PE binary which means they are not marked as executable. + +This misbehavior was unmasked by commit a51f953f4ee87 ("mkimage: Align +efi sections on 4k boundary") which made the X/NX boundary more obvious +because everything became page aligned. + +To put things into proper order, let's move the arm trampolines into the +.text section instead. That way everyone knows they are executable. + +Fixes: a51f953f4ee87 ("mkimage: Align efi sections on 4k boundary") +Reported-by: Julien ROBIN <julien.robi...@free.fr> +Reported-by: Leif Lindholm <leif.lindh...@linaro.org> +Signed-off-by: Alexander Graf <ag...@csgraf.de> +Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org> +Tested-by: Julien ROBIN <julien.robi...@free.fr> +Tested-by: Leif Lindholm <leif.lindh...@linaro.org> + +Bug-Debian: https://bugs.debian.org/927269 +Origin: other, https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00131.html +Last-Update: 2019-05-03 + +Patch-Name: arm-move-trampolines-into-code-section.patch +--- + util/grub-mkimagexx.c | 32 +++++++++++++++----------------- + 1 file changed, 15 insertions(+), 17 deletions(-) + +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index 6c02faffb..2f80e5abc 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -1860,6 +1860,21 @@ SUFFIX (locate_sections) (Elf_Ehdr *e, const char *kernel_path, + } + } + ++#ifdef MKIMAGE_ELF32 ++ if (image_target->elf_target == EM_ARM) ++ { ++ grub_size_t tramp; ++ ++ layout->kernel_size = ALIGN_UP (layout->kernel_size, 16); ++ ++ tramp = arm_get_trampoline_size (e, sections, section_entsize, ++ num_sections, image_target); ++ ++ layout->tramp_off = layout->kernel_size; ++ layout->kernel_size += ALIGN_UP (tramp, 16); ++ } ++#endif ++ + layout->kernel_size = ALIGN_UP (layout->kernel_size + image_target->vaddr_offset, + image_target->section_align) + - image_target->vaddr_offset; +@@ -1876,23 +1891,6 @@ SUFFIX (locate_sections) (Elf_Ehdr *e, const char *kernel_path, + strtab, + image_target); + +-#ifdef MKIMAGE_ELF32 +- if (image_target->elf_target == EM_ARM) +- { +- grub_size_t tramp; +- layout->kernel_size = ALIGN_UP (layout->kernel_size + image_target->vaddr_offset, +- image_target->section_align) - image_target->vaddr_offset; +- +- layout->kernel_size = ALIGN_UP (layout->kernel_size, 16); +- +- tramp = arm_get_trampoline_size (e, sections, section_entsize, +- num_sections, image_target); +- +- layout->tramp_off = layout->kernel_size; +- layout->kernel_size += ALIGN_UP (tramp, 16); +- } +-#endif +- + layout->bss_start = layout->kernel_size; + layout->end = layout->kernel_size; + diff -Nru grub2-2.02+dfsg1/debian/patches/no-devicetree-if-secure-boot.patch grub2-2.02+dfsg1/debian/patches/no-devicetree-if-secure-boot.patch --- grub2-2.02+dfsg1/debian/patches/no-devicetree-if-secure-boot.patch 1970-01-01 01:00:00.000000000 +0100 +++ grub2-2.02+dfsg1/debian/patches/no-devicetree-if-secure-boot.patch 2019-05-04 22:58:32.000000000 +0100 @@ -0,0 +1,71 @@ +From 9569221816a2a1a832be106440375a612e0121b7 Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjo...@redhat.com> +Date: Wed, 24 Apr 2019 10:03:04 -0400 +Subject: Forbid the "devicetree" command when Secure Boot is enabled. + +Signed-off-by: Peter Jones <pjo...@redhat.com> +Signed-off-by: Steve McIntyre <93...@debian.org> + +Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=927888#15 +Bug-Debian: https://bugs.debian.org/927888 +Last-Update: 2019-05-04 + +Patch-Name: no-devicetree-if-secure-boot.patch +--- + grub-core/loader/arm/linux.c | 14 +++++++++++++- + grub-core/loader/efi/fdt.c | 8 ++++++++ + 2 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c +index 9300adc8f..72d747578 100644 +--- a/grub-core/loader/arm/linux.c ++++ b/grub-core/loader/arm/linux.c +@@ -29,6 +29,10 @@ + #include <grub/lib/cmdline.h> + #include <grub/linux.h> + ++#ifdef GRUB_MACHINE_EFI ++#include <grub/efi/efi.h> ++#endif ++ + GRUB_MOD_LICENSE ("GPLv3+"); + + static grub_dl_t my_mod; +@@ -433,9 +437,17 @@ grub_cmd_devicetree (grub_command_t cmd __attribute__ ((unused)), + if (argc != 1) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); + ++#ifdef GRUB_MACHINE_EFI ++ if (grub_efi_secure_boot ()) ++ { ++ return grub_error (GRUB_ERR_ACCESS_DENIED, ++ "Secure Boot forbids loading devicetree from %s", argv[0]); ++ } ++#endif ++ + dtb = grub_file_open (argv[0]); + if (!dtb) +- goto out; ++ return grub_errno; + + size = grub_file_size (dtb); + if (size == 0) +diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c +index c9aee74ef..2def3dc5d 100644 +--- a/grub-core/loader/efi/fdt.c ++++ b/grub-core/loader/efi/fdt.c +@@ -123,6 +123,14 @@ grub_cmd_devicetree (grub_command_t cmd __attribute__ ((unused)), + return GRUB_ERR_NONE; + } + ++#ifdef GRUB_MACHINE_EFI ++ if (grub_efi_secure_boot ()) ++ { ++ return grub_error (GRUB_ERR_ACCESS_DENIED, ++ "Secure Boot forbids loading devicetree from %s", argv[0]); ++ } ++#endif ++ + dtb = grub_file_open (argv[0]); + if (!dtb) + goto out; diff -Nru grub2-2.02+dfsg1/debian/patches/series grub2-2.02+dfsg1/debian/patches/series --- grub2-2.02+dfsg1/debian/patches/series 2019-03-23 13:48:37.000000000 +0000 +++ grub2-2.02+dfsg1/debian/patches/series 2019-05-04 22:58:32.000000000 +0100 @@ -134,3 +134,6 @@ xfs-sparse-inodes.patch vsnprintf-upper-case-hex.patch efi-variable-storage-minimise-writes.patch +arm-move-trampolines-into-code-section.patch +arm-align-section-alignment-with-manual-reloc-offset.patch +no-devicetree-if-secure-boot.patch -- Colin Watson [cjwat...@debian.org]