Bug#780018: unblock: grub2/2.02~beta2-21
Control: tags -1 d-i
On 2015-03-08 10:20, Colin Watson wrote:
> 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.
>
Thanks, :)
Looks good to me, Cc'ing KiBi for a d-i ack (keeping the debdiff for his
convenience below).
Thanks (and <eom> from me),
~Niels
> 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
>
Reply to: