From ab16b3b26f7bdf1e0f617e97e9cb5408afe10756 Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Tue, 14 Mar 2023 10:42:21 -0400 Subject: [PATCH] ikexec-save-default: fix case when no crypttab found in initrd - /tmp/initrd_extract was attempted to be deleted while under that directory when no crypptab found. - changing of directory to / is non-conditional prior of deletion: move to cleaning step - Clarity on message displayed to user when a generic crypttab will be generated in case of no OS override --- initrd/bin/kexec-save-default | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/initrd/bin/kexec-save-default b/initrd/bin/kexec-save-default index 54b56c37..bb76dbe3 100755 --- a/initrd/bin/kexec-save-default +++ b/initrd/bin/kexec-save-default @@ -169,18 +169,21 @@ if [ "$save_key" = "y" ]; then done done - cd - > /dev/null - #insert current default boot's initrd crypttab locations into tracking file to be overwritten into initramfs at kexec-inject-key echo "+++ The following OS crypttab file:entry were modified from default boot's initrd:" cat $bootdir/kexec_initrd_crypttab_overrides.txt echo "+++ Heads added /secret.key in those entries and saved them under $bootdir/kexec_initrd_crypttab_overrides.txt" echo "+++ Those overrides will be part of detached signed digests and used to prepare cpio injected at kexec of selected default boot entry." else - echo "+++ No crypttab file found in extracted initrd. Removing $bootdir/kexec_initrd_crypttab_overrides.txt" - rm -f "$bootdir/kexec_initrd_crypttab_overrides.txt" || true + echo "+++ No crypttab file found in extracted initrd. A generic crypttab will be generated" + if [ -e "$bootdir/kexec_initrd_crypttab_overrides.txt" ]; then + echo "+++ Removing $bootdir/kexec_initrd_crypttab_overrides.txt" + rm -f "$bootdir/kexec_initrd_crypttab_overrides.txt" + fi fi + # Cleanup + cd / rm -rf /tmp/initrd_extract || true fi