[RFC PATCH 01/15] X.509: Partially revert patch to add validation against IMA MOK keyring
From: David Howells
Date: Fri Jan 08 2016 - 13:33:37 EST
Partially revert commit 41c89b64d7184a780f12f2cccdabe65cb2408893:
Author: Petko Manolov <petkan@xxxxxxxxxxxx>
Date: Wed Dec 2 17:47:55 2015 +0200
IMA: create machine owner and blacklist keyrings
The problem is that prep->trusted is a simple boolean and the additional
x509_validate_trust() call doesn't therefore distinguish levels of
trustedness, but is just OR'd with the result of validation against the
system trusted keyring.
However, setting the trusted flag means that this key may be added to *any*
trusted-only keyring - including the system trusted keyring.
Whilst I appreciate what the patch is trying to do, I don't think this is
quite the right solution.
Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
cc: Petko Manolov <petkan@xxxxxxxxxxxx>
cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx>
cc: keyrings@xxxxxxxxxxxxxxx
---
crypto/asymmetric_keys/x509_public_key.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/crypto/asymmetric_keys/x509_public_key.c b/crypto/asymmetric_keys/x509_public_key.c
index 9e9e5a6a9ed6..2a44b3752471 100644
--- a/crypto/asymmetric_keys/x509_public_key.c
+++ b/crypto/asymmetric_keys/x509_public_key.c
@@ -321,8 +321,6 @@ static int x509_key_preparse(struct key_preparsed_payload *prep)
goto error_free_cert;
} else if (!prep->trusted) {
ret = x509_validate_trust(cert, get_system_trusted_keyring());
- if (ret)
- ret = x509_validate_trust(cert, get_ima_mok_keyring());
if (!ret)
prep->trusted = 1;
}