grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SECURITY PATCH 092/117] disk/lvm: Do not allow a LV to be it's own segm


From: Daniel Kiper
Subject: [SECURITY PATCH 092/117] disk/lvm: Do not allow a LV to be it's own segment's node's LV
Date: Tue, 2 Mar 2021 19:01:39 +0100

From: Daniel Axtens <dja@axtens.net>

This prevents infinite recursion in the diskfilter verification code.

Signed-off-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
 grub-core/disk/lvm.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/grub-core/disk/lvm.c b/grub-core/disk/lvm.c
index 4e17b8897..8257159b3 100644
--- a/grub-core/disk/lvm.c
+++ b/grub-core/disk/lvm.c
@@ -981,9 +981,13 @@ grub_lvm_detect (grub_disk_t disk,
                    }
                if (lv1->segments[i].nodes[j].pv == NULL)
                  for (lv2 = vg->lvs; lv2; lv2 = lv2->next)
-                   if (grub_strcmp (lv2->name,
-                                    lv1->segments[i].nodes[j].name) == 0)
-                     lv1->segments[i].nodes[j].lv = lv2;
+                   {
+                     if (lv1 == lv2)
+                       continue;
+                     if (grub_strcmp (lv2->name,
+                                      lv1->segments[i].nodes[j].name) == 0)
+                       lv1->segments[i].nodes[j].lv = lv2;
+                   }
              }
        
       }
-- 
2.11.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]