KEYS: Use a typedef for restrict_link function pointers
This pointer type needs to be returned from a lookup function, and without a typedef the syntax gets cumbersome. Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
This commit is contained in:
Родитель
73cdd29044
Коммит
469ff8f7d4
|
@ -1032,10 +1032,7 @@ payload contents" for more information.
|
||||||
struct key *keyring_alloc(const char *description, uid_t uid, gid_t gid,
|
struct key *keyring_alloc(const char *description, uid_t uid, gid_t gid,
|
||||||
const struct cred *cred,
|
const struct cred *cred,
|
||||||
key_perm_t perm,
|
key_perm_t perm,
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link,
|
||||||
const struct key_type *,
|
|
||||||
unsigned long,
|
|
||||||
const union key_payload *),
|
|
||||||
unsigned long flags,
|
unsigned long flags,
|
||||||
struct key *dest);
|
struct key *dest);
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,10 @@ static inline bool is_key_possessed(const key_ref_t key_ref)
|
||||||
return (unsigned long) key_ref & 1UL;
|
return (unsigned long) key_ref & 1UL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef int (*key_restrict_link_func_t)(struct key *keyring,
|
||||||
|
const struct key_type *type,
|
||||||
|
const union key_payload *payload);
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*
|
/*
|
||||||
* authentication token / access credential / keyring
|
* authentication token / access credential / keyring
|
||||||
|
@ -215,9 +219,7 @@ struct key {
|
||||||
* overrides this, allowing the kernel to add extra keys without
|
* overrides this, allowing the kernel to add extra keys without
|
||||||
* restriction.
|
* restriction.
|
||||||
*/
|
*/
|
||||||
int (*restrict_link)(struct key *keyring,
|
key_restrict_link_func_t restrict_link;
|
||||||
const struct key_type *type,
|
|
||||||
const union key_payload *payload);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct key *key_alloc(struct key_type *type,
|
extern struct key *key_alloc(struct key_type *type,
|
||||||
|
@ -226,9 +228,7 @@ extern struct key *key_alloc(struct key_type *type,
|
||||||
const struct cred *cred,
|
const struct cred *cred,
|
||||||
key_perm_t perm,
|
key_perm_t perm,
|
||||||
unsigned long flags,
|
unsigned long flags,
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link);
|
||||||
const struct key_type *,
|
|
||||||
const union key_payload *));
|
|
||||||
|
|
||||||
|
|
||||||
#define KEY_ALLOC_IN_QUOTA 0x0000 /* add to quota, reject if would overrun */
|
#define KEY_ALLOC_IN_QUOTA 0x0000 /* add to quota, reject if would overrun */
|
||||||
|
@ -304,9 +304,7 @@ extern struct key *keyring_alloc(const char *description, kuid_t uid, kgid_t gid
|
||||||
const struct cred *cred,
|
const struct cred *cred,
|
||||||
key_perm_t perm,
|
key_perm_t perm,
|
||||||
unsigned long flags,
|
unsigned long flags,
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link,
|
||||||
const struct key_type *,
|
|
||||||
const union key_payload *),
|
|
||||||
struct key *dest);
|
struct key *dest);
|
||||||
|
|
||||||
extern int restrict_link_reject(struct key *keyring,
|
extern int restrict_link_reject(struct key *keyring,
|
||||||
|
|
|
@ -225,9 +225,7 @@ serial_exists:
|
||||||
struct key *key_alloc(struct key_type *type, const char *desc,
|
struct key *key_alloc(struct key_type *type, const char *desc,
|
||||||
kuid_t uid, kgid_t gid, const struct cred *cred,
|
kuid_t uid, kgid_t gid, const struct cred *cred,
|
||||||
key_perm_t perm, unsigned long flags,
|
key_perm_t perm, unsigned long flags,
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link)
|
||||||
const struct key_type *,
|
|
||||||
const union key_payload *))
|
|
||||||
{
|
{
|
||||||
struct key_user *user = NULL;
|
struct key_user *user = NULL;
|
||||||
struct key *key;
|
struct key *key;
|
||||||
|
@ -806,9 +804,7 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
|
||||||
struct key *keyring, *key = NULL;
|
struct key *keyring, *key = NULL;
|
||||||
key_ref_t key_ref;
|
key_ref_t key_ref;
|
||||||
int ret;
|
int ret;
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link = NULL;
|
||||||
const struct key_type *,
|
|
||||||
const union key_payload *) = NULL;
|
|
||||||
|
|
||||||
/* look up the key type to see if it's one of the registered kernel
|
/* look up the key type to see if it's one of the registered kernel
|
||||||
* types */
|
* types */
|
||||||
|
|
|
@ -492,9 +492,7 @@ static long keyring_read(const struct key *keyring,
|
||||||
struct key *keyring_alloc(const char *description, kuid_t uid, kgid_t gid,
|
struct key *keyring_alloc(const char *description, kuid_t uid, kgid_t gid,
|
||||||
const struct cred *cred, key_perm_t perm,
|
const struct cred *cred, key_perm_t perm,
|
||||||
unsigned long flags,
|
unsigned long flags,
|
||||||
int (*restrict_link)(struct key *,
|
key_restrict_link_func_t restrict_link,
|
||||||
const struct key_type *,
|
|
||||||
const union key_payload *),
|
|
||||||
struct key *dest)
|
struct key *dest)
|
||||||
{
|
{
|
||||||
struct key *keyring;
|
struct key *keyring;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче