| From | Ben Hutchings <> | Date | Thu, 28 Dec 2017 17:05:44 +0000 | Subject | [PATCH 3.16 047/204] KEYS: don't revoke uninstantiated key in request_key_auth_new() |
| |
3.16.52-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Eric Biggers <ebiggers@google.com>
commit f7b48cf08fa63a68b59c2894806ee478216d7f91 upstream.
If key_instantiate_and_link() were to fail (which fortunately isn't possible currently), the call to key_revoke(authkey) would crash with a NULL pointer dereference in request_key_auth_revoke() because the key has not yet been instantiated.
Fix this by removing the call to key_revoke(). key_put() is sufficient, as it's not possible for an uninstantiated authkey to have been used for anything yet.
Fixes: b5f545c880a2 ("[PATCH] keys: Permit running process to instantiate keys") Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- security/keys/request_key_auth.c | 1 - 1 file changed, 1 deletion(-)
--- a/security/keys/request_key_auth.c +++ b/security/keys/request_key_auth.c @@ -207,7 +207,6 @@ struct key *request_key_auth_new(struct return authkey; error_put_authkey: - key_revoke(authkey); key_put(authkey); error_free_rka: free_request_key_auth(rka);
|