0120-disk-lvm-Bail-on-missing-PV-list.patch 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. From 2958695c4cdc785de6ed708709af071a2d20afef Mon Sep 17 00:00:00 2001
  2. From: Daniel Axtens <dja@axtens.net>
  3. Date: Thu, 21 Jan 2021 18:54:29 +1100
  4. Subject: [PATCH] disk/lvm: Bail on missing PV list
  5. There's an if block for the presence of "physical_volumes {", but if
  6. that block is absent, then p remains NULL and a NULL-deref will result
  7. when looking for logical volumes.
  8. It doesn't seem like LVM makes sense without physical volumes, so error
  9. out rather than crashing.
  10. Signed-off-by: Daniel Axtens <dja@axtens.net>
  11. Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
  12. Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
  13. ---
  14. grub-core/disk/lvm.c | 2 ++
  15. 1 file changed, 2 insertions(+)
  16. diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
  17. index 36da575..8e560f3 100644
  18. --- a/grub-core/disk/lvm.c
  19. +++ b/grub-core/disk/lvm.c
  20. @@ -370,6 +370,8 @@ grub_lvm_detect (grub_disk_t disk,
  21. goto fail4;
  22. }
  23. }
  24. + else
  25. + goto fail4;
  26. p = grub_strstr (p, "logical_volumes {");
  27. if (p)
  28. --
  29. 2.14.2