mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-29 01:51:39 +00:00
KEYS: Drop the permissions argument from __keyring_search_one()
Drop the permissions argument from __keyring_search_one() as the only caller passes 0 here - which causes all checks to be skipped. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
parent
ccc3e6d9c9
commit
e57e8669f2
3 changed files with 5 additions and 9 deletions
|
@ -99,8 +99,7 @@ extern void __key_link_end(struct key *keyring,
|
||||||
unsigned long prealloc);
|
unsigned long prealloc);
|
||||||
|
|
||||||
extern key_ref_t __keyring_search_one(key_ref_t keyring_ref,
|
extern key_ref_t __keyring_search_one(key_ref_t keyring_ref,
|
||||||
const struct keyring_index_key *index_key,
|
const struct keyring_index_key *index_key);
|
||||||
key_perm_t perm);
|
|
||||||
|
|
||||||
extern struct key *keyring_search_instkey(struct key *keyring,
|
extern struct key *keyring_search_instkey(struct key *keyring,
|
||||||
key_serial_t target_id);
|
key_serial_t target_id);
|
||||||
|
|
|
@ -847,7 +847,7 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
|
||||||
* update that instead if possible
|
* update that instead if possible
|
||||||
*/
|
*/
|
||||||
if (index_key.type->update) {
|
if (index_key.type->update) {
|
||||||
key_ref = __keyring_search_one(keyring_ref, &index_key, 0);
|
key_ref = __keyring_search_one(keyring_ref, &index_key);
|
||||||
if (!IS_ERR(key_ref))
|
if (!IS_ERR(key_ref))
|
||||||
goto found_matching_key;
|
goto found_matching_key;
|
||||||
}
|
}
|
||||||
|
|
|
@ -531,15 +531,14 @@ EXPORT_SYMBOL(keyring_search);
|
||||||
* RCU is used to make it unnecessary to lock the keyring key list here.
|
* RCU is used to make it unnecessary to lock the keyring key list here.
|
||||||
*
|
*
|
||||||
* Returns a pointer to the found key with usage count incremented if
|
* Returns a pointer to the found key with usage count incremented if
|
||||||
* successful and returns -ENOKEY if not found. Revoked keys and keys not
|
* successful and returns -ENOKEY if not found. Revoked and invalidated keys
|
||||||
* providing the requested permission are skipped over.
|
* are skipped over.
|
||||||
*
|
*
|
||||||
* If successful, the possession indicator is propagated from the keyring ref
|
* If successful, the possession indicator is propagated from the keyring ref
|
||||||
* to the returned key reference.
|
* to the returned key reference.
|
||||||
*/
|
*/
|
||||||
key_ref_t __keyring_search_one(key_ref_t keyring_ref,
|
key_ref_t __keyring_search_one(key_ref_t keyring_ref,
|
||||||
const struct keyring_index_key *index_key,
|
const struct keyring_index_key *index_key)
|
||||||
key_perm_t perm)
|
|
||||||
{
|
{
|
||||||
struct keyring_list *klist;
|
struct keyring_list *klist;
|
||||||
struct key *keyring, *key;
|
struct key *keyring, *key;
|
||||||
|
@ -560,8 +559,6 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref,
|
||||||
if (key->type == index_key->type &&
|
if (key->type == index_key->type &&
|
||||||
(!key->type->match ||
|
(!key->type->match ||
|
||||||
key->type->match(key, index_key->description)) &&
|
key->type->match(key, index_key->description)) &&
|
||||||
key_permission(make_key_ref(key, possessed),
|
|
||||||
perm) == 0 &&
|
|
||||||
!(key->flags & ((1 << KEY_FLAG_INVALIDATED) |
|
!(key->flags & ((1 << KEY_FLAG_INVALIDATED) |
|
||||||
(1 << KEY_FLAG_REVOKED)))
|
(1 << KEY_FLAG_REVOKED)))
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue