From 5689fb46e7fc6881bf7487c8b0cb62d9481dd52e Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Tue, 20 May 2025 12:36:10 +0200 Subject: [PATCH] Add error message for missing volume key. Add specific error message when user does not provide all necessary volume keys via --volume-key-file or --volume-key-keyring parameters. --- src/cryptsetup.c | 2 ++ src/utils_reencrypt.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/cryptsetup.c b/src/cryptsetup.c index 6e8d7626..a56bca85 100644 --- a/src/cryptsetup.c +++ b/src/cryptsetup.c @@ -1823,6 +1823,8 @@ static int action_open_luks(void) /* The ordering of kc1 or kc2 does not matter */ r = crypt_activate_by_keyslot_context(cd, activated_name, CRYPT_ANY_SLOT, kc1, CRYPT_ANY_SLOT, kc2, activate_flags); + if (r == -ESRCH) + log_err(_("Device requires two volume keys.")); if (r == -EPERM) log_err(_("Volume key does not match the volume.")); } else { diff --git a/src/utils_reencrypt.c b/src/utils_reencrypt.c index 082fb12c..77f31c9a 100644 --- a/src/utils_reencrypt.c +++ b/src/utils_reencrypt.c @@ -299,6 +299,8 @@ static int reencrypt_multi_key_unlock(struct crypt_device *cd, r = crypt_activate_by_keyslot_context(cd, NULL, ARG_INT32(OPT_KEY_SLOT_ID), kc1, ARG_INT32(OPT_NEW_KEY_SLOT_ID), kc2, 0); + if (r == -ESRCH) + log_err(_("Device requires two volume keys.")); if (r == -EPERM) log_err(_("Volume key does not match the volume.")); } else {