|
@@ -298,31 +298,6 @@ out:
|
|
|
return ascii_buf;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * request_trusted_key - request the trusted key
|
|
|
- *
|
|
|
- * Trusted keys are sealed to PCRs and other metadata. Although userspace
|
|
|
- * manages both trusted/encrypted key-types, like the encrypted key type
|
|
|
- * data, trusted key type data is not visible decrypted from userspace.
|
|
|
- */
|
|
|
-static struct key *request_trusted_key(const char *trusted_desc,
|
|
|
- u8 **master_key, size_t *master_keylen)
|
|
|
-{
|
|
|
- struct trusted_key_payload *tpayload;
|
|
|
- struct key *tkey;
|
|
|
-
|
|
|
- tkey = request_key(&key_type_trusted, trusted_desc, NULL);
|
|
|
- if (IS_ERR(tkey))
|
|
|
- goto error;
|
|
|
-
|
|
|
- down_read(&tkey->sem);
|
|
|
- tpayload = rcu_dereference(tkey->payload.data);
|
|
|
- *master_key = tpayload->key;
|
|
|
- *master_keylen = tpayload->key_len;
|
|
|
-error:
|
|
|
- return tkey;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* request_user_key - request the user key
|
|
|
*
|
|
@@ -469,8 +444,14 @@ static struct key *request_master_key(struct encrypted_key_payload *epayload,
|
|
|
goto out;
|
|
|
|
|
|
if (IS_ERR(mkey)) {
|
|
|
- pr_info("encrypted_key: key %s not found",
|
|
|
- epayload->master_desc);
|
|
|
+ int ret = PTR_ERR(epayload);
|
|
|
+
|
|
|
+ if (ret == -ENOTSUPP)
|
|
|
+ pr_info("encrypted_key: key %s not supported",
|
|
|
+ epayload->master_desc);
|
|
|
+ else
|
|
|
+ pr_info("encrypted_key: key %s not found",
|
|
|
+ epayload->master_desc);
|
|
|
goto out;
|
|
|
}
|
|
|
|