diff options
| author | Eric Biggers <ebiggers@google.com> | 2017-09-21 13:57:41 -0700 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2018-01-01 20:50:51 +0000 |
| commit | 9e9039264036f9d1213920150f7db680c385aaf8 (patch) | |
| tree | 2418ba29c0a18adb5a582141fd48f0531d7efb53 /security | |
| parent | 3b9c8a06857e48471028f8446176ff8664911626 (diff) | |
| download | linux-9e9039264036f9d1213920150f7db680c385aaf8.tar.gz linux-9e9039264036f9d1213920150f7db680c385aaf8.tar.bz2 linux-9e9039264036f9d1213920150f7db680c385aaf8.zip | |
KEYS: don't revoke uninstantiated key in request_key_auth_new()
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>
Diffstat (limited to 'security')
| -rw-r--r-- | security/keys/request_key_auth.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/security/keys/request_key_auth.c b/security/keys/request_key_auth.c index b21b981dd414..40a06a30a9cf 100644 --- a/security/keys/request_key_auth.c +++ b/security/keys/request_key_auth.c @@ -206,7 +206,6 @@ struct key *request_key_auth_new(struct key *target, const void *callout_info, return authkey; error_put_authkey: - key_revoke(authkey); key_put(authkey); error_free_rka: free_request_key_auth(rka); |
