commit:     203500a030b608538b15a4a8094de680e1937266
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  5 23:19:34 2021 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Jul  5 23:40:52 2021 +0000
URL:        https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=203500a0

initrd.scripts: openLUKS(): Reset cryptsetup_options on each iteration

Fixes: a0a6d631 ("linuxrc: add kernel command-line argument to allow user to 
pass additional options to cryptsetup")
Bug: https://bugs.gentoo.org/794817
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 defaults/initrd.scripts | 6 ++++--
 defaults/unlock-luks.sh | 4 ++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 5ec8adb..cdee2a4 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1831,8 +1831,6 @@ openLUKS() {
        eval local LUKS_KEY='"${CRYPT_'${TYPE}'_KEY}"'
        eval local LUKS_KEYDEV='"${CRYPT_'${TYPE}'_KEYDEV}"'
        eval local LUKS_KEYDEV_FSTYPE='"${CRYPT_'${TYPE}'_KEYDEV_FSTYPE}"'
-       eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
-       cryptsetup_options="$(trim "${cryptsetup_options}")"
        eval local OPENED_LOCKFILE='"${CRYPT_'${TYPE}'_OPENED_LOCKFILE}"'
        local DEV_ERROR=0 KEY_ERROR=0 KEYDEV_ERROR=0
        local mntkey="/mnt/key/" crypt_filter_ret=
@@ -1845,6 +1843,10 @@ openLUKS() {
 
        while true
        do
+               # Reset cryptsetup_options on each iteration
+               eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+               cryptsetup_options="$(trim "${cryptsetup_options}")"
+
                local gpg_cmd=""
                if [ -e "${OPENED_LOCKFILE}" ]
                then

diff --git a/defaults/unlock-luks.sh b/defaults/unlock-luks.sh
index 2674d93..54ed1a0 100644
--- a/defaults/unlock-luks.sh
+++ b/defaults/unlock-luks.sh
@@ -58,6 +58,10 @@ main() {
 
        while true
        do
+               # Reset cryptsetup_options on each iteration
+               eval local cryptsetup_options='"${CRYPT_'${TYPE}'_OPTIONS}"'
+               cryptsetup_options="$(trim "${cryptsetup_options}")"
+
                local gpg_cmd crypt_filter_ret
 
                if [ -e "${OPENED_LOCKFILE}" ]

Reply via email to