Control: tags 987008 + pending

Dear maintainer,

I've prepared an NMU for grub2 (versioned as 2.06-8.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Note that the package was uploaded to *experimental*, not unstable, as
an extra precaution. Let me know if you will followup with an unstable
update or I should.

A copy of the package is also available at:

https://people.debian.org/~anarcat/debian/sid/grub2_2.06-8.1_amd64.changes

(and yes, I am aware this makes it possible to bypass the DELAYED queue,
which is partly why it's targeting experimental.)

Regards.

a.
diff -Nru grub2-2.06/debian/changelog grub2-2.06/debian/changelog
--- grub2-2.06/debian/changelog	2023-02-08 20:09:00.000000000 -0500
+++ grub2-2.06/debian/changelog	2023-02-25 15:16:55.000000000 -0500
@@ -1,3 +1,11 @@
+grub2 (2.06-8.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix an issue where a logical volume rename would lead grub to fail to
+    boot (Closes: #987008)
+
+ -- Antoine Beaupré <anar...@debian.org>  Sat, 25 Feb 2023 15:16:55 -0500
+
 grub2 (2.06-8) unstable; urgency=medium
 
   [ Steve McIntyre ]
diff -Nru grub2-2.06/debian/patches/987008-lvrename-boot-fail.patch grub2-2.06/debian/patches/987008-lvrename-boot-fail.patch
--- grub2-2.06/debian/patches/987008-lvrename-boot-fail.patch	1969-12-31 19:00:00.000000000 -0500
+++ grub2-2.06/debian/patches/987008-lvrename-boot-fail.patch	2023-02-25 15:16:55.000000000 -0500
@@ -0,0 +1,35 @@
+Description: fix renamed LV detection
+  It looks like the detection of the LVM logical volumes fails in
+  certain edge conditions. In particular, it was reported that
+  renaming an LV will make grub fail to boot from the system as it
+  cannot properly detect it anymore.
+  .
+  I have looked at the code surrounding the patch and cannot claim to
+  understand the entire function here, as it is huge and quite
+  cryptic. But it seems sane: the `ptr` we're inspecting here starts
+  at the `rlocn->offset`, but we were adding `mda_size` to the
+  (somewhat) unrelated metadatabuf instead. Now we're marking the
+  `mda_end` correctly, based on the rlocn->offsite and ->size.
+  .
+  I have not tested this myself as the test setup is quite involved,
+  but it seems others (e.g. "Hoyer, David" <david.ho...@netapp.com>)
+  have tested the patch and confirmed it worked.
+Author: Rogier <rogier...@gmail.com>
+Origin: other
+Bug: https://savannah.gnu.org/bugs/index.php?61620
+Bug-Debian: https://bugs.debian.org/987008
+Forwarded: https://savannah.gnu.org/bugs/index.php?61620
+Reviewed-By: Antoine Beaupré
+Last-Update: 2023-02-25
+
+--- grub2-2.06.orig/grub-core/disk/lvm.c
++++ grub2-2.06/grub-core/disk/lvm.c
+@@ -290,7 +290,7 @@ grub_lvm_detect (grub_disk_t disk,
+ 
+   p = q = (char *)ptr;
+ 
+-  if (grub_add ((grub_size_t)metadatabuf, (grub_size_t)mda_size, &ptr))
++  if (grub_add (ptr, (grub_size_t)grub_le_to_cpu64 (rlocn->size), &ptr))
+     goto error_parsing_metadata;
+ 
+   mda_end = (char *)ptr;
diff -Nru grub2-2.06/debian/patches/series grub2-2.06/debian/patches/series
--- grub2-2.06/debian/patches/series	2023-02-08 20:09:00.000000000 -0500
+++ grub2-2.06/debian/patches/series	2023-02-25 15:09:36.000000000 -0500
@@ -114,3 +114,4 @@
 grub_mkconfig_restore_umask.patch
 ignore_checksum_seed_incompat_feature.patch
 ignore_the_large_dir_incompat_feature.patch
+987008-lvrename-boot-fail.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to