1
0
Fork 0
grub2/debian/patches/987008-lvrename-boot-fail.patch
Daniel Baumann 4cf387939d
Adding debian version 2.12-8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 15:25:08 +02:00

46 lines
1.7 KiB
Diff

From: Rogier <rogier777@gmail.com>
Date: Mon, 19 Jun 2023 17:23:25 +0200
Subject: fix renamed LV detection
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
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
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.
---
grub-core/disk/lvm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
index 7942485..8535d5a 100644
--- a/grub-core/disk/lvm.c
+++ b/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;