]> git.proxmox.com Git - grub2.git/commitdiff
fix detection of non-LUKS CRYPT
authorCorey Hickey <bugfood-ml@fatooh.org>
Sat, 5 Nov 2016 04:58:14 +0000 (21:58 -0700)
committerAndrei Borzenkov <arvidjaar@gmail.com>
Sat, 5 Nov 2016 12:28:50 +0000 (15:28 +0300)
grub_util_get_dm_abstraction() does a string comparison of insufficient
length. When using a UUID such as "CRYPT-PLAIN-sda6_crypt", the function
returns GRUB_DEV_ABSTRACTION_LUKS.

This results in the error:
    ./grub-probe: error: disk `cryptouuid/sda6_crypt' not found.

This appears to be a copy/paste error introduced in:
a10e7a5a8918bea6e2632055129fa9b516fe965a

The bug was (apparently) latent until revealed by:
3bca85b4184f74995a7cc2791e432173fde26d34

Signed-off-by: Corey Hickey <bugfood-c@fatooh.org>
grub-core/osdep/devmapper/getroot.c

index 72e5582752a9cd64d305d847c771b49677e0a0e9..a13a39c96c6766559fd2990e69d7e78bdf5bfeed 100644 (file)
@@ -143,7 +143,7 @@ grub_util_get_dm_abstraction (const char *os_dev)
       grub_free (uuid);
       return GRUB_DEV_ABSTRACTION_LVM;
     }
-  if (strncmp (uuid, "CRYPT-LUKS1-", 4) == 0)
+  if (strncmp (uuid, "CRYPT-LUKS1-", 12) == 0)
     {
       grub_free (uuid);
       return GRUB_DEV_ABSTRACTION_LUKS;