diff options
author | David Howells <dhowells@redhat.com> | 2014-03-14 17:44:49 +0000 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2014-03-14 17:44:49 +0000 |
commit | f5895943d91b41b0368830cdb6eaffb8eda0f4c8 (patch) | |
tree | 7f2306521dae27b9beb0be25942d27ee6d9a328a /include/linux/key.h | |
parent | c60f7d5a8e7c639de5d9dfe07e1e91d302d506e4 (diff) | |
download | op-kernel-dev-f5895943d91b41b0368830cdb6eaffb8eda0f4c8.zip op-kernel-dev-f5895943d91b41b0368830cdb6eaffb8eda0f4c8.tar.gz |
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/key.h')
-rw-r--r-- | include/linux/key.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/key.h b/include/linux/key.h index 80d6774..cd0abb8 100644 --- a/include/linux/key.h +++ b/include/linux/key.h @@ -309,6 +309,17 @@ static inline key_serial_t key_serial(const struct key *key) extern void key_set_timeout(struct key *, unsigned); +/* + * The permissions required on a key that we're looking up. + */ +#define KEY_NEED_VIEW 0x01 /* Require permission to view attributes */ +#define KEY_NEED_READ 0x02 /* Require permission to read content */ +#define KEY_NEED_WRITE 0x04 /* Require permission to update / modify */ +#define KEY_NEED_SEARCH 0x08 /* Require permission to search (keyring) or find (key) */ +#define KEY_NEED_LINK 0x10 /* Require permission to link */ +#define KEY_NEED_SETATTR 0x20 /* Require permission to change attributes */ +#define KEY_NEED_ALL 0x3f /* All the above permissions */ + /** * key_is_instantiated - Determine if a key has been positively instantiated * @key: The key to check. |