Commit db1d1d57 authored by David Howells's avatar David Howells Committed by Linus Torvalds

[PATCH] Keys: Fix permissions check for update vs add

Permit add_key() to once again update a matching key rather than adding a
new one if a matching key already exists in the target keyring.

This bug causes add_key() to always add a new key, displacing the old from
the target keyring.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5c72c343
...@@ -526,7 +526,7 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref, ...@@ -526,7 +526,7 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref,
(!key->type->match || (!key->type->match ||
key->type->match(key, description)) && key->type->match(key, description)) &&
key_permission(make_key_ref(key, possessed), key_permission(make_key_ref(key, possessed),
perm) < 0 && perm) == 0 &&
!test_bit(KEY_FLAG_REVOKED, &key->flags) !test_bit(KEY_FLAG_REVOKED, &key->flags)
) )
goto found; goto found;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment