[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: