From 6930d069a37a3b770c4e825fa8d7c937ec608e50 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 9 Jun 2020 14:21:32 +0200 Subject: [PATCH] cryptsetup: pass selected mode to crypt_load() when doing LUKS This doesn't fix anything IRL, but is a bit cleaner, since it makes sure that arg_type is properly passed to crypt_load() in all cases. We actually never set arg_type to CRYPT_LUKS2, which is why this wasn't noticed before, but theoretically this might change one day, and existing comments suggest it as possible value for arg_type, hence let's process it properly. --- src/cryptsetup/cryptsetup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index a8d72fcf5a8..6d3f842dbe1 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -932,8 +932,8 @@ static int run(int argc, char *argv[]) { log_warning("Key file %s is world-readable. This is not a good idea!", key_file); } - if (!arg_type || STR_IN_SET(arg_type, ANY_LUKS, CRYPT_LUKS1)) { - r = crypt_load(cd, CRYPT_LUKS, NULL); + if (!arg_type || STR_IN_SET(arg_type, ANY_LUKS, CRYPT_LUKS1, CRYPT_LUKS2)) { + r = crypt_load(cd, !arg_type || streq(arg_type, ANY_LUKS) ? CRYPT_LUKS : arg_type, NULL); if (r < 0) return log_error_errno(r, "Failed to load LUKS superblock on device %s: %m", crypt_get_device_name(cd)); -- 2.47.3