diff options
Diffstat (limited to '')
-rw-r--r-- | debian/patches/987008-lvrename-boot-fail.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/debian/patches/987008-lvrename-boot-fail.patch b/debian/patches/987008-lvrename-boot-fail.patch new file mode 100644 index 0000000..5d5df3e --- /dev/null +++ b/debian/patches/987008-lvrename-boot-fail.patch @@ -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.Hoyer@netapp.com>) + have tested the patch and confirmed it worked. +Author: Rogier <rogier777@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; |