aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/persistent.c
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2014-04-14 11:42:49 +1000
committerJames Morris <james.l.morris@oracle.com>2014-04-14 11:42:49 +1000
commitb13cebe70775e67323e1c2eff20e1cd174e430a4 (patch)
tree80e5775c2ce5c90bdef8a2ce487fb70a179217af /security/keys/persistent.c
parentMerge commit 'v3.14' into next (diff)
parentsmack: fix key permission verification (diff)
downloadlinux-dev-b13cebe70775e67323e1c2eff20e1cd174e430a4.tar.xz
linux-dev-b13cebe70775e67323e1c2eff20e1cd174e430a4.zip
Merge tag 'keys-20140314' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next
Diffstat (limited to 'security/keys/persistent.c')
-rw-r--r--security/keys/persistent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/security/keys/persistent.c b/security/keys/persistent.c
index 0ad3ee283781..c9fae5ea89fe 100644
--- a/security/keys/persistent.c
+++ b/security/keys/persistent.c
@@ -108,7 +108,7 @@ static long key_get_persistent(struct user_namespace *ns, kuid_t uid,
return PTR_ERR(persistent_ref);
found:
- ret = key_task_permission(persistent_ref, current_cred(), KEY_LINK);
+ ret = key_task_permission(persistent_ref, current_cred(), KEY_NEED_LINK);
if (ret == 0) {
persistent = key_ref_to_ptr(persistent_ref);
ret = key_link(key_ref_to_ptr(dest_ref), persistent);
@@ -151,7 +151,7 @@ long keyctl_get_persistent(uid_t _uid, key_serial_t destid)
}
/* There must be a destination keyring */
- dest_ref = lookup_user_key(destid, KEY_LOOKUP_CREATE, KEY_WRITE);
+ dest_ref = lookup_user_key(destid, KEY_LOOKUP_CREATE, KEY_NEED_WRITE);
if (IS_ERR(dest_ref))
return PTR_ERR(dest_ref);
if (key_ref_to_ptr(dest_ref)->type != &key_type_keyring) {