]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - security/keys/persistent.c
Merge tag 'mfd-for-linus-3.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / security / keys / persistent.c
index 0ad3ee2837812344d9cf20153c6df49f4dff168e..c9fae5ea89fe68b2dcaeed5a30acc9f47c54c6ad 100644 (file)
@@ -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) {