summaryrefslogtreecommitdiffstats
path: root/security/keys/process_keys.c
diff options
context:
space:
mode:
authorJames Morris2014-09-22 14:54:56 +0200
committerJames Morris2014-09-22 14:54:56 +0200
commit35e1efd25a9e7d5cf2884fa23441ab87353849bb (patch)
treeaa0e546b39fa4d0a434919ff106721dfc3777a3d /security/keys/process_keys.c
parentMerge branch 'smack-for-3.18' of git://git.gitorious.org/smack-next/kernel in... (diff)
parentKEYS: Check hex2bin()'s return when generating an asymmetric key ID (diff)
downloadkernel-qcow2-linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.tar.gz
kernel-qcow2-linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.tar.xz
kernel-qcow2-linux-35e1efd25a9e7d5cf2884fa23441ab87353849bb.zip
Merge tag 'keys-next-20140922' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next
Diffstat (limited to 'security/keys/process_keys.c')
-rw-r--r--security/keys/process_keys.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c
index 0cf8a130a267..bd536cb221e2 100644
--- a/security/keys/process_keys.c
+++ b/security/keys/process_keys.c
@@ -489,9 +489,10 @@ found:
/*
* See if the key we're looking at is the target key.
*/
-int lookup_user_key_possessed(const struct key *key, const void *target)
+bool lookup_user_key_possessed(const struct key *key,
+ const struct key_match_data *match_data)
{
- return key == target;
+ return key == match_data->raw_data;
}
/*
@@ -516,9 +517,9 @@ key_ref_t lookup_user_key(key_serial_t id, unsigned long lflags,
key_perm_t perm)
{
struct keyring_search_context ctx = {
- .match = lookup_user_key_possessed,
- .flags = (KEYRING_SEARCH_NO_STATE_CHECK |
- KEYRING_SEARCH_LOOKUP_DIRECT),
+ .match_data.cmp = lookup_user_key_possessed,
+ .match_data.lookup_type = KEYRING_SEARCH_LOOKUP_DIRECT,
+ .flags = KEYRING_SEARCH_NO_STATE_CHECK,
};
struct request_key_auth *rka;
struct key *key;
@@ -673,7 +674,7 @@ try_again:
ctx.index_key.type = key->type;
ctx.index_key.description = key->description;
ctx.index_key.desc_len = strlen(key->description);
- ctx.match_data = key;
+ ctx.match_data.raw_data = key;
kdebug("check possessed");
skey_ref = search_process_keyrings(&ctx);
kdebug("possessed=%p", skey_ref);