dracut/0072.patch

38 lines
1.4 KiB
Diff
Raw Normal View History

2018-01-18 09:07:29 +00:00
From 0f6d93eb9d63695a64002ec8b0421fbc9fc8a7a3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 11 Jan 2018 11:39:44 +0100
Subject: [PATCH] crypt: escape backslashes for systemd unit names b/c
udev/initqueue/bash
otherwise
luks\x2d25e41d19\x2d1580\x2d4e7c\x2d8875\x2d134045008f33
turns to
luksx2d25e41d19x2d1580x2d4e7cx2d8875x2d134045008f33
---
modules.d/90crypt/parse-crypt.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
index f0a4fba9..ea6802e8 100755
--- a/modules.d/90crypt/parse-crypt.sh
+++ b/modules.d/90crypt/parse-crypt.sh
@@ -64,6 +64,8 @@ else
} >> /etc/udev/rules.d/70-luks.rules.new
else
luksname=$(dev_unit_name "$luksname")
+ luksname="$(str_replace "$luksname" '\' '\\')"
+
if ! crypttab_contains "$serialid"; then
{
printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
@@ -95,6 +97,8 @@ else
} >> /etc/udev/rules.d/70-luks.rules.new
else
luksname=$(dev_unit_name "$luksname")
+ luksname="$(str_replace "$luksname" '\' '\\')"
+
if ! crypttab_contains "$luksid"; then
{
printf -- 'ENV{ID_FS_TYPE}=="crypto_LUKS", '