summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2019-10-29 12:44:46 -0700
committerJia Zhang <zhang.jia@linux.alibaba.com>2019-11-08 13:27:23 +0800
commitca003d11bbce34708b9ef3822b4b684beb7a1159 (patch)
tree1925650571a8fee947b558892c5c3d4227e80baa
parentd63b6d273b78f557ad829b05c7286b8c24d2e511 (diff)
downloadmeta-secure-core-ca003d11bbce34708b9ef3822b4b684beb7a1159.tar.gz
lvm2: Fix hanging dmcrypt volumes on boot
The initrd takes care of starting the luks volumes and activing the dmcrypt udev rules. The udev rule required a modification to deal with volumes that had already been started, else the cold plug event that runs at user space startup puts the dmcrypt device into a state that systemd cannot manage it. [ Issue: LINUXEXEC-2450 ] Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-rw-r--r--meta-encrypted-storage/recipes-support/lvm2/lvm2/0001-10-dm.rules.in-Fix-dmcrypt-hanging-on-hand-over-from.patch38
-rw-r--r--meta-encrypted-storage/recipes-support/lvm2/lvm2_%.bbappend7
2 files changed, 45 insertions, 0 deletions
diff --git a/meta-encrypted-storage/recipes-support/lvm2/lvm2/0001-10-dm.rules.in-Fix-dmcrypt-hanging-on-hand-over-from.patch b/meta-encrypted-storage/recipes-support/lvm2/lvm2/0001-10-dm.rules.in-Fix-dmcrypt-hanging-on-hand-over-from.patch
new file mode 100644
index 0000000..0ae4669
--- /dev/null
+++ b/meta-encrypted-storage/recipes-support/lvm2/lvm2/0001-10-dm.rules.in-Fix-dmcrypt-hanging-on-hand-over-from.patch
@@ -0,0 +1,38 @@
1From b655a26908ca170bf030d7bb8de6d6a96022375b Mon Sep 17 00:00:00 2001
2From: Jason Wessel <jason.wessel@windriver.com>
3Date: Mon, 28 Oct 2019 17:43:57 -0700
4Subject: [PATCH] 10-dm.rules.in: Fix dmcrypt hanging on hand over from
5 initramfs
6
7If an encrypted volume has already been setup from the intiramfs, it
8should not have the device nodes removed. The udevadm trigger
9--action=add for the device was causing the dm managed udev rules to
10fall throug to the dm_disable path, which knocks the device offline
11and it is not possible to reactivate it because the initramfs shuts
12down the path to obtain the key from the TPM after the boot sequence
13is completed.
14
15Upstream-Status: Pending
16
17Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
18---
19 udev/10-dm.rules.in | 3 ++-
20 1 file changed, 2 insertions(+), 1 deletion(-)
21
22diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
23index b4fa52a..ccaf863 100644
24--- a/udev/10-dm.rules.in
25+++ b/udev/10-dm.rules.in
26@@ -84,7 +84,8 @@ LABEL="dm_flags_done"
27 # script to not remove the existing udev database so we can reuse the information
28 # stored at the time of device activation in the initrd.
29 ACTION!="add", GOTO="dm_no_coldplug"
30-ENV{DM_UDEV_RULES_VSN}!="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable"
31+ENV{DM_UDEV_RULES_VSN}=="2",GOTO="dm_no_coldplug"
32+#ENV{DM_UDEV_RULES_VSN}!="1", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable"
33 ENV{DM_ACTIVATION}="1"
34 LABEL="dm_no_coldplug"
35
36--
372.23.0
38
diff --git a/meta-encrypted-storage/recipes-support/lvm2/lvm2_%.bbappend b/meta-encrypted-storage/recipes-support/lvm2/lvm2_%.bbappend
new file mode 100644
index 0000000..e2dd834
--- /dev/null
+++ b/meta-encrypted-storage/recipes-support/lvm2/lvm2_%.bbappend
@@ -0,0 +1,7 @@
1#
2# Copyright (C) 2019 Wind River Systems, Inc.
3#
4
5FILESEXTRAPATHS_prepend := "${THISDIR}/lvm2:"
6
7SRC_URI += "file://0001-10-dm.rules.in-Fix-dmcrypt-hanging-on-hand-over-from.patch"