From: Lennart Poettering Date: Wed, 29 Apr 2020 16:17:33 +0000 (+0200) Subject: cryptsetup: make sure to return EAGAIN on wrong tcrypt password too X-Git-Tag: v246-rc1~331^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cb6c9283b5f0a06722609b8834fcee48acee0c32;p=thirdparty%2Fsystemd.git cryptsetup: make sure to return EAGAIN on wrong tcrypt password too Only then we'll try again to ask the user for a password. Fixes: #12152 --- diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index f6a9a21caa5..9ff10d8aaaa 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -512,15 +512,13 @@ static int attach_tcrypt( r = crypt_load(cd, CRYPT_TCRYPT, ¶ms); if (r < 0) { if (r == -EPERM) { - if (key_data) { + if (key_data) log_error_errno(r, "Failed to activate using discovered key. (Key not correct?)"); - return -EAGAIN; /* log the actual error, but return EAGAIN */ - } - if (key_file) { + if (key_file) log_error_errno(r, "Failed to activate using password file '%s'. (Key data not correct?)", key_file); - return -EAGAIN; /* log the actual error, but return EAGAIN */ - } + + return -EAGAIN; /* log the actual error, but return EAGAIN */ } return log_error_errno(r, "Failed to load tcrypt superblock on device %s: %m", crypt_get_device_name(cd));