Unify error code for missing key description.

Use -ESRCH for similar error code as with
crypt_activate_by_keyslot_context. Here it's not
confliciting with previous use for the very code but
let's make it easier and use same code for similar case.
This commit is contained in:
Ondrej Kozina
2024-01-23 12:08:42 +01:00
parent 35ec935cc2
commit cbc7253400
3 changed files with 3 additions and 3 deletions

View File

@@ -3120,7 +3120,7 @@ void crypt_safe_memzero(void *data, size_t size);
* devices that are in re-encryption and have two volume keys at the same time
* (old and new). You can set the @e old_key_description to NULL,
* but if you supply number of keys less than required, the function will
* return -EAGAIN. In that case you need to call the function again and set
* return -ESRCH. In that case you need to call the function again and set
* the missing key description. When supplying just one key description, make
* sure to supply it in the @e key_description.
*

View File

@@ -7835,7 +7835,7 @@ int crypt_set_keyring_to_link(struct crypt_device *cd, const char *key_descripti
user_descriptions_count = (key_description ? 1 : 0) + (old_key_description ? 1 : 0);
if (user_descriptions_count != 0 && vks_count > user_descriptions_count)
return -EAGAIN;
return -ESRCH;
if (keyring_to_link_vk) {
id = keyring_find_keyring_id_by_name(keyring_to_link_vk);

View File

@@ -5537,7 +5537,7 @@ static void KeyslotContextAndKeyringLink(void)
// key names have to be specified starting from the first
EQ_(crypt_set_keyring_to_link(cd, NULL, TEST_KEY_VK_USER, "user", keyring_in_user_str_id), -EINVAL);
EQ_(crypt_set_keyring_to_link(cd, TEST_KEY_VK_USER, NULL, "user", keyring_in_user_str_id), -EAGAIN);
EQ_(crypt_set_keyring_to_link(cd, TEST_KEY_VK_USER, NULL, "user", keyring_in_user_str_id), -ESRCH);
EQ_(crypt_set_keyring_to_link(cd, TEST_KEY_VK_USER, TEST_KEY_VK_USER2, "user", keyring_in_user_str_id), 0);
EQ_(crypt_activate_by_passphrase(cd, CDEVICE_1, CRYPT_ANY_SLOT, PASSPHRASE, strlen(PASSPHRASE), 0), 0);