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:
@@ -714,7 +714,7 @@ static inline key_ref_t __key_update(key_ref_t key_ref,
|
||||
int ret;
|
||||
|
||||
/* need write permission on the key to update it */
|
||||
ret = key_permission(key_ref, KEY_WRITE);
|
||||
ret = key_permission(key_ref, KEY_NEED_WRITE);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
@@ -838,7 +838,7 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
|
||||
|
||||
/* if we're going to allocate a new key, we're going to have
|
||||
* to modify the keyring */
|
||||
ret = key_permission(keyring_ref, KEY_WRITE);
|
||||
ret = key_permission(keyring_ref, KEY_NEED_WRITE);
|
||||
if (ret < 0) {
|
||||
key_ref = ERR_PTR(ret);
|
||||
goto error_link_end;
|
||||
@@ -928,7 +928,7 @@ int key_update(key_ref_t key_ref, const void *payload, size_t plen)
|
||||
key_check(key);
|
||||
|
||||
/* the key must be writable */
|
||||
ret = key_permission(key_ref, KEY_WRITE);
|
||||
ret = key_permission(key_ref, KEY_NEED_WRITE);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
|
||||
|
Reference in New Issue
Block a user