aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/security.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2014-03-14 13:44:49 -0400
committerDavid Howells <dhowells@redhat.com>2014-03-14 13:44:49 -0400
commitf5895943d91b41b0368830cdb6eaffb8eda0f4c8 (patch)
tree7f2306521dae27b9beb0be25942d27ee6d9a328a /include/linux/security.h
parentc60f7d5a8e7c639de5d9dfe07e1e91d302d506e4 (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 'include/linux/security.h')
-rw-r--r--include/linux/security.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/security.h b/include/linux/security.h
index 5623a7f965b7..3a5ed0cd2751 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1707,7 +1707,7 @@ struct security_operations {
1707 void (*key_free) (struct key *key); 1707 void (*key_free) (struct key *key);
1708 int (*key_permission) (key_ref_t key_ref, 1708 int (*key_permission) (key_ref_t key_ref,
1709 const struct cred *cred, 1709 const struct cred *cred,
1710 key_perm_t perm); 1710 unsigned perm);
1711 int (*key_getsecurity)(struct key *key, char **_buffer); 1711 int (*key_getsecurity)(struct key *key, char **_buffer);
1712#endif /* CONFIG_KEYS */ 1712#endif /* CONFIG_KEYS */
1713 1713
@@ -3026,7 +3026,7 @@ static inline int security_path_chroot(struct path *path)
3026int security_key_alloc(struct key *key, const struct cred *cred, unsigned long flags); 3026int security_key_alloc(struct key *key, const struct cred *cred, unsigned long flags);
3027void security_key_free(struct key *key); 3027void security_key_free(struct key *key);
3028int security_key_permission(key_ref_t key_ref, 3028int security_key_permission(key_ref_t key_ref,
3029 const struct cred *cred, key_perm_t perm); 3029 const struct cred *cred, unsigned perm);
3030int security_key_getsecurity(struct key *key, char **_buffer); 3030int security_key_getsecurity(struct key *key, char **_buffer);
3031 3031
3032#else 3032#else
@@ -3044,7 +3044,7 @@ static inline void security_key_free(struct key *key)
3044 3044
3045static inline int security_key_permission(key_ref_t key_ref, 3045static inline int security_key_permission(key_ref_t key_ref,
3046 const struct cred *cred, 3046 const struct cred *cred,
3047 key_perm_t perm) 3047 unsigned perm)
3048{ 3048{
3049 return 0; 3049 return 0;
3050} 3050}