keyring_find_key_id_by_name does not return negative values on error.

It returns 0 on error even if keyring support is compiled out.

There are valid negative constants for thread keyring, process keyring,
etc.
This commit is contained in:
Ondrej Kozina
2025-05-27 13:25:12 +02:00
parent f3557f0765
commit c735c71ca1

View File

@@ -7557,14 +7557,7 @@ int crypt_keyring_get_key_by_name(struct crypt_device *cd,
log_dbg(cd, "Searching for kernel key by name %s.", key_description);
kid = keyring_find_key_id_by_name(key_description);
if (kid == -ENOTSUP) {
log_dbg(cd, "Kernel keyring features disabled.");
return -ENOTSUP;
} else if (kid < 0) {
log_dbg(cd, "keyring_find_key_id_by_name failed with errno %d.", errno);
return -EINVAL;
}
else if (kid == 0) {
if (kid == 0) {
log_dbg(cd, "keyring_find_key_id_by_name failed with errno %d.", ENOENT);
return -ENOENT;
}