Bug#780018: unblock: grub2/2.02~beta2-21
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock grub2. Niels and Cyril have both asked about this
recently, and it makes sense: one RC bug fix for powerpc, one important
bug fix requested by the CD team, and one cherry-pick to fix load_env if
the grubenv file spans more than one block. I'm not aware of any new
issues caused by this.
diff -Nru grub2-2.02~beta2/debian/.git-dpm grub2-2.02~beta2/debian/.git-dpm
--- grub2-2.02~beta2/debian/.git-dpm 2015-01-03 12:21:02.000000000 +0000
+++ grub2-2.02~beta2/debian/.git-dpm 2015-01-27 20:33:00.000000000 +0000
@@ -1,6 +1,6 @@
# see git-dpm(1) from git-dpm package
-cbc80b2e595a7c4938dabd8264c2ff6a26eb4863
-cbc80b2e595a7c4938dabd8264c2ff6a26eb4863
+9d4f1601e187894da565f4573b5d174dcf586cd6
+9d4f1601e187894da565f4573b5d174dcf586cd6
e8f07821cce1bd0ab6d5622c2a42440f15f4fd71
e8f07821cce1bd0ab6d5622c2a42440f15f4fd71
grub2_2.02~beta2.orig.tar.xz
diff -Nru grub2-2.02~beta2/debian/changelog grub2-2.02~beta2/debian/changelog
--- grub2-2.02~beta2/debian/changelog 2015-01-03 12:39:53.000000000 +0000
+++ grub2-2.02~beta2/debian/changelog 2015-01-27 20:37:09.000000000 +0000
@@ -1,3 +1,20 @@
+grub2 (2.02~beta2-21) unstable; urgency=medium
+
+ [ Mathieu Trudel-Lapierre ]
+ * Fix overlap check in check_blocklists for load_env (backported patch
+ from upstream commit 1f6af2a9; LP: #1311247).
+
+ [ Steve McIntyre ]
+ * Add support for running a 64-bit Linux kernel on a 32-bit EFI (closes:
+ #775202).
+
+ [ Colin Watson ]
+ * Use mtmsr rather than mtmsrd in ppc64el-disable-vsx.patch, since the
+ "VSX Available" bit is in the lower half of the MSR anyway, and mtmsrd
+ faults on 32-bit systems (closes: #776400).
+
+ -- Colin Watson <cjwatson@debian.org> Tue, 27 Jan 2015 20:37:04 +0000
+
grub2 (2.02~beta2-20) unstable; urgency=medium
[ Colin Watson ]
diff -Nru grub2-2.02~beta2/debian/patches/check_blocklists_overlap_fix.patch grub2-2.02~beta2/debian/patches/check_blocklists_overlap_fix.patch
--- grub2-2.02~beta2/debian/patches/check_blocklists_overlap_fix.patch 1970-01-01 01:00:00.000000000 +0100
+++ grub2-2.02~beta2/debian/patches/check_blocklists_overlap_fix.patch 2015-01-27 20:33:00.000000000 +0000
@@ -0,0 +1,47 @@
+From 2a54e1b19aa1e080f9795a00d7381c0be85b2a4b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=A0=D0=BE=D0=BC=D0=B0=D0=BD=20=D0=9F=D0=B5=D1=85=D0=BE?=
+ =?UTF-8?q?=D0=B2?= <roman_pekhov>
+Date: Sun, 22 Jun 2014 03:51:50 +0400
+Subject: * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
+
+Bug: http://savannah.gnu.org/bugs/?42134
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1311247
+Origin: upstream, http://git.savannah.gnu.org/cgit/grub.git/commit/?id=1f6af2a9f8b02a71f213b4717d8e62c8a6b14fc5
+Last-Update: 2015-01-23
+
+Patch-Name: check_blocklists_overlap_fix.patch
+---
+ grub-core/commands/loadenv.c | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/grub-core/commands/loadenv.c b/grub-core/commands/loadenv.c
+index 6af8112..acd93d1 100644
+--- a/grub-core/commands/loadenv.c
++++ b/grub-core/commands/loadenv.c
+@@ -263,7 +263,7 @@ check_blocklists (grub_envblk_t envblk, struct blocklist *blocklists,
+ for (q = p->next; q; q = q->next)
+ {
+ grub_disk_addr_t s1, s2;
+- grub_disk_addr_t e1, e2, t;
++ grub_disk_addr_t e1, e2;
+
+ s1 = p->sector;
+ e1 = s1 + ((p->length + GRUB_DISK_SECTOR_SIZE - 1) >> GRUB_DISK_SECTOR_BITS);
+@@ -271,16 +271,7 @@ check_blocklists (grub_envblk_t envblk, struct blocklist *blocklists,
+ s2 = q->sector;
+ e2 = s2 + ((q->length + GRUB_DISK_SECTOR_SIZE - 1) >> GRUB_DISK_SECTOR_BITS);
+
+- if (s2 > s1)
+- {
+- t = s2;
+- s2 = s1;
+- s1 = t;
+- t = e2;
+- e2 = e1;
+- e1 = t;
+- }
+- if (e1 > s2)
++ if (s1 < e2 && s2 < e1)
+ {
+ /* This might be actually valid, but it is unbelievable that
+ any filesystem makes such a silly allocation. */
diff -Nru grub2-2.02~beta2/debian/patches/gettext-print-typo.patch grub2-2.02~beta2/debian/patches/gettext-print-typo.patch
--- grub2-2.02~beta2/debian/patches/gettext-print-typo.patch 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/gettext-print-typo.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From 20886bef9351d5c20a9de1fb3339fe40114f01d1 Mon Sep 17 00:00:00 2001
+From 34411ff593136ce78ab5c21706dfb7ae3655a16f Mon Sep 17 00:00:00 2001
From: Andrey Borzenkov <arvidjaar@gmail.com>
Date: Thu, 14 Aug 2014 21:02:31 +0400
Subject: Fix typo (gettext_print instead of gettext_printf)
diff -Nru grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch
--- grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/grub-install-extra-removable.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From 617a691e4a95e67967ca8b0c77c59d347df182d6 Mon Sep 17 00:00:00 2001
+From 0c98fa2f582d686e2e9ebdc7065b4475d38e57cb Mon Sep 17 00:00:00 2001
From: Steve McIntyre <93sam@debian.org>
Date: Wed, 3 Dec 2014 01:25:12 +0000
Subject: Add support for forcing EFI installation to the removable media path
diff -Nru grub2-2.02~beta2/debian/patches/grub-install-pvxen-paths.patch grub2-2.02~beta2/debian/patches/grub-install-pvxen-paths.patch
--- grub2-2.02~beta2/debian/patches/grub-install-pvxen-paths.patch 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/grub-install-pvxen-paths.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From 313d9a785287753409051363335a26e75855cbd6 Mon Sep 17 00:00:00 2001
+From 1f6d5327f7ae4d6b2cccb6a7c7bd19e86dffbc6e Mon Sep 17 00:00:00 2001
From: Ian Campbell <ijc@hellion.org.uk>
Date: Sat, 6 Sep 2014 12:20:12 +0100
Subject: grub-install: Install PV Xen binaries into the upstream specified
diff -Nru grub2-2.02~beta2/debian/patches/insmod-xzio-and-lzopio-on-xen.patch grub2-2.02~beta2/debian/patches/insmod-xzio-and-lzopio-on-xen.patch
--- grub2-2.02~beta2/debian/patches/insmod-xzio-and-lzopio-on-xen.patch 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/insmod-xzio-and-lzopio-on-xen.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From b837a9997cb306dc9aaeb3308f05d08cef402456 Mon Sep 17 00:00:00 2001
+From 117750671b90c8576dab576af524f29df9a0981c Mon Sep 17 00:00:00 2001
From: Ian Campbell <ijc@debian.org>
Date: Sun, 30 Nov 2014 12:12:52 +0000
Subject: Arrange to insmod xzio and lzopio when booting a kernel as a Xen
diff -Nru grub2-2.02~beta2/debian/patches/mixed_size_efi.patch grub2-2.02~beta2/debian/patches/mixed_size_efi.patch
--- grub2-2.02~beta2/debian/patches/mixed_size_efi.patch 1970-01-01 01:00:00.000000000 +0100
+++ grub2-2.02~beta2/debian/patches/mixed_size_efi.patch 2015-01-27 20:33:00.000000000 +0000
@@ -0,0 +1,79 @@
+From 9d4f1601e187894da565f4573b5d174dcf586cd6 Mon Sep 17 00:00:00 2001
+From: Steve McIntyre <93sam@debian.org>
+Date: Tue, 27 Jan 2015 20:08:53 +0000
+Subject: Add support for running a 64-bit Linux kernel on a 32-bit EFI
+
+Some platforms might be capable of running a 64-bit Linux kernel but
+only use a 32-bit EFI. To support such systems, it is necessary to work
+out the size of the firmware rather than just the size of the kernel.
+To enable that, there is now an extra EFI sysfs file to describe the
+underlying firmware. Read that if possible, otherwise fall back to the
+kernel type as before.
+
+Signed-off-by: Steve McIntyre <93sam@debian.org>
+
+Bug-Debian: https://bugs.debian.org/775202
+Forwarded: Not yet
+Last-Update: 2015-01-10
+
+Patch-Name: mixed_size_efi.patch
+---
+ grub-core/osdep/linux/platform.c | 38 +++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 37 insertions(+), 1 deletion(-)
+
+diff --git a/grub-core/osdep/linux/platform.c b/grub-core/osdep/linux/platform.c
+index 033afd8..3675b23 100644
+--- a/grub-core/osdep/linux/platform.c
++++ b/grub-core/osdep/linux/platform.c
+@@ -63,6 +63,42 @@ is_64_kernel (void)
+ return strcmp (un.machine, "x86_64") == 0;
+ }
+
++static int
++read_platform_size (void)
++{
++ FILE *fp;
++ char *buf = NULL;
++ size_t len = 0;
++ int ret = 0;
++
++ /* Newer kernels can tell us directly about the size of the
++ * underlying firmware - let's see if that interface is there. */
++ fp = grub_util_fopen ("/sys/firmware/efi/fw_platform_size", "r");
++ if (fp != NULL)
++ {
++ if (getline (&buf, &len, fp) > 0)
++ {
++ if (strncmp (buf, "32", 2) == 0)
++ ret = 32;
++ else if (strncmp (buf, "64", 2) == 0)
++ ret = 64;
++ }
++ free (buf);
++ fclose (fp);
++ }
++
++ if (ret == 0)
++ /* Unrecognised - fall back to matching the kernel size instead */
++ {
++ if (is_64_kernel ())
++ ret = 64;
++ else
++ ret = 32;
++ }
++
++ return ret;
++}
++
+ const char *
+ grub_install_get_default_x86_platform (void)
+ {
+@@ -85,7 +121,7 @@ grub_install_get_default_x86_platform (void)
+ int found;
+
+ grub_util_info ("...found");
+- if (is_64_kernel ())
++ if (read_platform_size() == 64)
+ platform = "x86_64-efi";
+ else
+ platform = "i386-efi";
diff -Nru grub2-2.02~beta2/debian/patches/mkconfig_other_inits.patch grub2-2.02~beta2/debian/patches/mkconfig_other_inits.patch
--- grub2-2.02~beta2/debian/patches/mkconfig_other_inits.patch 2015-01-03 12:21:02.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/mkconfig_other_inits.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From cbc80b2e595a7c4938dabd8264c2ff6a26eb4863 Mon Sep 17 00:00:00 2001
+From 810bd3508823c23b4fe05a4edcaf822932a9fffb Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Sat, 3 Jan 2015 12:04:59 +0000
Subject: Generate alternative init entries in advanced menu
diff -Nru grub2-2.02~beta2/debian/patches/ppc64el-disable-vsx.patch grub2-2.02~beta2/debian/patches/ppc64el-disable-vsx.patch
--- grub2-2.02~beta2/debian/patches/ppc64el-disable-vsx.patch 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/ppc64el-disable-vsx.patch 2015-01-27 20:33:00.000000000 +0000
@@ -1,4 +1,4 @@
-From 8a1286ce461f0866b26e56ed83626b1d7818f51a Mon Sep 17 00:00:00 2001
+From f7e1bb53e4ea20869766206e348ad97351f94bb2 Mon Sep 17 00:00:00 2001
From: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
Date: Thu, 25 Sep 2014 19:33:39 -0300
Subject: Disable VSX instruction
@@ -10,17 +10,18 @@
* grub-core/kern/powerpc/ieee1275/startup.S: Disable VSX.
Also-By: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+Also-By: Colin Watson <cjwatson@debian.org>
Origin: other, https://lists.gnu.org/archive/html/grub-devel/2014-09/msg00078.html
-Last-Update: 2014-09-26
+Last-Update: 2015-01-27
Patch-Name: ppc64el-disable-vsx.patch
---
- grub-core/kern/powerpc/ieee1275/startup.S | 10 ++++++++++
- 1 file changed, 10 insertions(+)
+ grub-core/kern/powerpc/ieee1275/startup.S | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
diff --git a/grub-core/kern/powerpc/ieee1275/startup.S b/grub-core/kern/powerpc/ieee1275/startup.S
-index 21c884b..b4d9c21 100644
+index 21c884b..de9a960 100644
--- a/grub-core/kern/powerpc/ieee1275/startup.S
+++ b/grub-core/kern/powerpc/ieee1275/startup.S
@@ -20,6 +20,8 @@
@@ -32,7 +33,7 @@
.extern __bss_start
.extern _end
-@@ -28,6 +30,14 @@
+@@ -28,6 +30,16 @@
.globl start, _start
start:
_start:
@@ -41,7 +42,9 @@
+ /* Disable VSX instruction */
+ mfmsr 0
+ oris 0,0,MSR_VSX
-+ mtmsrd 0
++ /* The "VSX Available" bit is in the lower half of the MSR, so we
++ don't need mtmsrd, which in any case won't work in 32-bit mode. */
++ mtmsr 0
+ isync
+
li 2, 0
diff -Nru grub2-2.02~beta2/debian/patches/series grub2-2.02~beta2/debian/patches/series
--- grub2-2.02~beta2/debian/patches/series 2015-01-03 12:21:00.000000000 +0000
+++ grub2-2.02~beta2/debian/patches/series 2015-01-27 20:32:58.000000000 +0000
@@ -64,3 +64,5 @@
insmod-xzio-and-lzopio-on-xen.patch
grub-install-extra-removable.patch
mkconfig_other_inits.patch
+check_blocklists_overlap_fix.patch
+mixed_size_efi.patch
unblock grub2/2.02~beta2-21
--
Colin Watson [cjwatson@debian.org]
Reply to: