path: root/security/keys/permission.c
diff options
authorDavid Howells <dhowells@redhat.com>2014-03-14 17:44:49 +0000
committerDavid Howells <dhowells@redhat.com>2014-03-14 17:44:49 +0000
commitf5895943d91b41b0368830cdb6eaffb8eda0f4c8 (patch)
tree7f2306521dae27b9beb0be25942d27ee6d9a328a /security/keys/permission.c
parentMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux (diff)
KEYS: Move the flags representing required permission to linux/key.h
Move the flags representing required permission to linux/key.h as the perm parameter of security_key_permission() is in terms of them - and not the permissions mask flags used in key->perm. Whilst we're at it: (1) Rename them to be KEY_NEED_xxx rather than KEY_xxx to avoid collisions with symbols in uapi/linux/input.h. (2) Don't use key_perm_t for a mask of required permissions, but rather limit it to the permissions mask attached to the key and arguments related directly to that. Signed-off-by: David Howells <dhowells@redhat.com> Tested-by: Dmitry Kasatkin <d.kasatkin@samsung.com>
Diffstat (limited to 'security/keys/permission.c')
1 files changed, 2 insertions, 2 deletions
diff --git a/security/keys/permission.c b/security/keys/permission.c
index efcc0c855a0d..732cc0beffdf 100644
--- a/security/keys/permission.c
+++ b/security/keys/permission.c
@@ -28,7 +28,7 @@
* permissions bits or the LSM check.
int key_task_permission(const key_ref_t key_ref, const struct cred *cred,
- key_perm_t perm)
+ unsigned perm)
struct key *key;
key_perm_t kperm;
@@ -68,7 +68,7 @@ use_these_perms:
if (is_key_possessed(key_ref))
kperm |= key->perm >> 24;
- kperm = kperm & perm & KEY_ALL;
+ kperm = kperm & perm & KEY_NEED_ALL;
if (kperm != perm)
return -EACCES;