mirror of
https://gitlab.com/cryptsetup/cryptsetup.git
synced 2025-12-11 19:00:02 +01:00
always return error when VK fails to load in keyring
This commit is contained in:
committed by
Milan Broz
parent
b72354ca22
commit
7c34ac6f6d
14
lib/setup.c
14
lib/setup.c
@@ -2505,7 +2505,7 @@ int crypt_resume_by_keyfile_offset(struct crypt_device *cd,
|
||||
|
||||
if (crypt_use_keyring_for_vk(cd)) {
|
||||
r = crypt_volume_key_load_in_keyring(cd, vk);
|
||||
if (r)
|
||||
if (r < 0)
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -2952,7 +2952,8 @@ static int _activate_by_passphrase(struct crypt_device *cd,
|
||||
keyslot = r;
|
||||
|
||||
if ((name || (flags & CRYPT_ACTIVATE_KEYRING_KEY)) && crypt_use_keyring_for_vk(cd)) {
|
||||
if (crypt_volume_key_load_in_keyring(cd, vk))
|
||||
r = crypt_volume_key_load_in_keyring(cd, vk);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
flags |= CRYPT_ACTIVATE_KEYRING_KEY;
|
||||
}
|
||||
@@ -3089,7 +3090,8 @@ int crypt_activate_by_keyfile_offset(struct crypt_device *cd,
|
||||
keyslot = r;
|
||||
|
||||
if ((name || (flags & CRYPT_ACTIVATE_KEYRING_KEY)) && crypt_use_keyring_for_vk(cd)) {
|
||||
if (crypt_volume_key_load_in_keyring(cd, vk))
|
||||
r = crypt_volume_key_load_in_keyring(cd, vk);
|
||||
if (r < 0)
|
||||
goto out;
|
||||
flags |= CRYPT_ACTIVATE_KEYRING_KEY;
|
||||
}
|
||||
@@ -3213,9 +3215,11 @@ int crypt_activate_by_volume_key(struct crypt_device *cd,
|
||||
if (r == -EPERM || r == -ENOENT)
|
||||
log_err(cd, _("Volume key does not match the volume.\n"));
|
||||
|
||||
if (!r && (name || (flags & CRYPT_ACTIVATE_KEYRING_KEY)) && crypt_use_keyring_for_vk(cd))
|
||||
if (!(r = crypt_volume_key_load_in_keyring(cd, vk)))
|
||||
if (!r && (name || (flags & CRYPT_ACTIVATE_KEYRING_KEY)) && crypt_use_keyring_for_vk(cd)) {
|
||||
r = crypt_volume_key_load_in_keyring(cd, vk);
|
||||
if (!r)
|
||||
flags |= CRYPT_ACTIVATE_KEYRING_KEY;
|
||||
}
|
||||
|
||||
if (!r && name)
|
||||
r = LUKS2_activate(cd, name, vk, flags);
|
||||
|
||||
Reference in New Issue
Block a user