diff options
author | David Howells <dhowells@redhat.com> | 2014-03-14 21:44:49 +0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2014-03-14 21:44:49 +0400 |
commit | f5895943d91b41b0368830cdb6eaffb8eda0f4c8 (patch) | |
tree | 7f2306521dae27b9beb0be25942d27ee6d9a328a /security/keys/permission.c | |
parent | c60f7d5a8e7c639de5d9dfe07e1e91d302d506e4 (diff) | |
download | linux-f5895943d91b41b0368830cdb6eaffb8eda0f4c8.tar.xz |
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')
-rw-r--r-- | security/keys/permission.c | 4 |
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; |