[pkg-cryptsetup-devel] Bug#949888: cryptsetup-initramfs: cryptroot hook doesn't recognize devices with authenticated encryption

hede debian452 at der-he.de
Sun Jan 26 17:34:50 GMT 2020


Package: cryptsetup-initramfs
Version: 2:2.1.0-5+deb10u2
Severity: normal

Dear Maintainer,

I've switched to Authenticated Encryption, i.e:
cryptsetup luksFormat --type luks2 --key-size 128 --cipher
aegis128-random --integrity aead /dev/sda

This way the dm device doesn't have the correct MAJ:MIN values.
But there exists some ${CRYPTTAB_NAME}_dif device which indeed points to
the correct MAJ:MIN device. 

As a consequence therof there do exist devices /dev/mapper/xxx_dif which are not
directly used as block devices. As such they are not found within
crypttab and a message like the following is useless:
cryptsetup: WARNING: target 'sdXX_crypt_dif' not found in /etc/crypttab

Nevertheless, the initramfs doesn't get created as expected. 

My workaround is:

#################
--- /usr/share/initramfs-tools/hooks/cryptroot  2019-08-26 14:54:10.000000000 +0200
+++ cryptroot   2020-01-26 18:13:21.898393199 +0100
@@ -150,7 +150,8 @@ crypttab_find_and_print_entry() {
 crypttab_print_entry() {
     local DEV MAJ MIN sourcename uuid keyfile
     if resolve_device "$CRYPTTAB_SOURCE"; then
-        if [ "$(dmsetup info -c --noheadings -o devnos_used -- "$CRYPTTAB_NAME" 2>/dev/null)" != "$MAJ:$MIN" ]; then
+        if [ "$(dmsetup info -c --noheadings -o devnos_used -- "$CRYPTTAB_NAME" 2>/dev/null)" != "$MAJ:$MIN" ] &&
+           [ "$(dmsetup info -c --noheadings -o devnos_used -- "${CRYPTTAB_NAME}_dif" 2>/dev/null)" != "$MAJ:$MIN" ]; then
             cryptsetup_message "ERROR: $CRYPTTAB_NAME: Source mismatch"
         elif sourcename="$(dmsetup info -c --noheadings -o mangled_name -j "$MAJ" -m "$MIN" 2>/dev/null)" &&
                [ -b "/dev/mapper/$sourcename" ]; then
#################

that's indeed a workaround and not a proper patch. 

btw: This is debian buster (current stable) and not sid but it seems sid suffers from
the same problem. 

regards
hede


-- System Information:
Debian Release: 10.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages cryptsetup-initramfs depends on:
pn  busybox | busybox-static                1:1.30.1-4
pn  cryptsetup-run                          2:2.1.0-5+deb10u2
pn  initramfs-tools | linux-initramfs-tool  0.133+deb10u1

Versions of packages cryptsetup-initramfs recommends:
pn  console-setup  1.193~deb10u1
pn  kbd            2.0.4-4

cryptsetup-initramfs suggests no packages.



More information about the pkg-cryptsetup-devel mailing list