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>
This commit is contained in:
@@ -1707,7 +1707,7 @@ struct security_operations {
|
||||
void (*key_free) (struct key *key);
|
||||
int (*key_permission) (key_ref_t key_ref,
|
||||
const struct cred *cred,
|
||||
key_perm_t perm);
|
||||
unsigned perm);
|
||||
int (*key_getsecurity)(struct key *key, char **_buffer);
|
||||
#endif /* CONFIG_KEYS */
|
||||
|
||||
@@ -3026,7 +3026,7 @@ static inline int security_path_chroot(struct path *path)
|
||||
int security_key_alloc(struct key *key, const struct cred *cred, unsigned long flags);
|
||||
void security_key_free(struct key *key);
|
||||
int security_key_permission(key_ref_t key_ref,
|
||||
const struct cred *cred, key_perm_t perm);
|
||||
const struct cred *cred, unsigned perm);
|
||||
int security_key_getsecurity(struct key *key, char **_buffer);
|
||||
|
||||
#else
|
||||
@@ -3044,7 +3044,7 @@ static inline void security_key_free(struct key *key)
|
||||
|
||||
static inline int security_key_permission(key_ref_t key_ref,
|
||||
const struct cred *cred,
|
||||
key_perm_t perm)
|
||||
unsigned perm)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user