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

[PATCH] Don't allow /boot to be on an encrypted device (#496866).



---
 storage/__init__.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/storage/__init__.py b/storage/__init__.py
index 13f34f9..5b6e0f6 100644
--- a/storage/__init__.py
+++ b/storage/__init__.py
@@ -859,10 +859,16 @@ class Storage(object):
             errors.append(_("Bootable partitions cannot be on an %s "
                             "filesystem.") % boot.format.type)
 
-        if (boot and filter(lambda d: d.type == "luks/dm-crypt",
-                            self.deviceDeps(boot))):
+        if boot and boot.type == "luks/dm-crypt":
+            # Handle encrypted boot on a partition.
             errors.append(_("Bootable partitions cannot be on an "
                             "encrypted block device"))
+        elif boot:
+            # Handle encrypted boot on more complicated devices.
+            for dev in map(lambda d: d.type == "luks/dm-crypt", self.devices):
+                if boot in self.deviceDeps(dev):
+                    errors.append(_("Bootable partitions cannot be on an "
+                                    "encrypted block device"))
 
         if not swaps:
             warnings.append(_("You have not specified a swap partition.  "
-- 
1.6.1.3


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