Commit a5b4bd28 authored by David Howells's avatar David Howells

KEYS: Use bool in make_key_ref() and is_key_possessed()

Make make_key_ref() take a bool possession parameter and make
is_key_possessed() return a bool.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 61ea0c0b
...@@ -865,15 +865,14 @@ encountered: ...@@ -865,15 +865,14 @@ encountered:
calling processes has a searchable link to the key from one of its calling processes has a searchable link to the key from one of its
keyrings. There are three functions for dealing with these: keyrings. There are three functions for dealing with these:
key_ref_t make_key_ref(const struct key *key, key_ref_t make_key_ref(const struct key *key, bool possession);
unsigned long possession);
struct key *key_ref_to_ptr(const key_ref_t key_ref); struct key *key_ref_to_ptr(const key_ref_t key_ref);
unsigned long is_key_possessed(const key_ref_t key_ref); bool is_key_possessed(const key_ref_t key_ref);
The first function constructs a key reference from a key pointer and The first function constructs a key reference from a key pointer and
possession information (which must be 0 or 1 and not any other value). possession information (which must be true or false).
The second function retrieves the key pointer from a reference and the The second function retrieves the key pointer from a reference and the
third retrieves the possession flag. third retrieves the possession flag.
......
...@@ -99,7 +99,7 @@ struct keyring_name; ...@@ -99,7 +99,7 @@ struct keyring_name;
typedef struct __key_reference_with_attributes *key_ref_t; typedef struct __key_reference_with_attributes *key_ref_t;
static inline key_ref_t make_key_ref(const struct key *key, static inline key_ref_t make_key_ref(const struct key *key,
unsigned long possession) bool possession)
{ {
return (key_ref_t) ((unsigned long) key | possession); return (key_ref_t) ((unsigned long) key | possession);
} }
...@@ -109,7 +109,7 @@ static inline struct key *key_ref_to_ptr(const key_ref_t key_ref) ...@@ -109,7 +109,7 @@ static inline struct key *key_ref_to_ptr(const key_ref_t key_ref)
return (struct key *) ((unsigned long) key_ref & ~1UL); return (struct key *) ((unsigned long) key_ref & ~1UL);
} }
static inline unsigned long is_key_possessed(const key_ref_t key_ref) static inline bool is_key_possessed(const key_ref_t key_ref)
{ {
return (unsigned long) key_ref & 1UL; return (unsigned long) key_ref & 1UL;
} }
......
...@@ -329,9 +329,10 @@ key_ref_t keyring_search_aux(key_ref_t keyring_ref, ...@@ -329,9 +329,10 @@ key_ref_t keyring_search_aux(key_ref_t keyring_ref,
struct keyring_list *keylist; struct keyring_list *keylist;
struct timespec now; struct timespec now;
unsigned long possessed, kflags; unsigned long kflags;
struct key *keyring, *key; struct key *keyring, *key;
key_ref_t key_ref; key_ref_t key_ref;
bool possessed;
long err; long err;
int sp, nkeys, kix; int sp, nkeys, kix;
...@@ -542,8 +543,8 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref, ...@@ -542,8 +543,8 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref,
key_perm_t perm) key_perm_t perm)
{ {
struct keyring_list *klist; struct keyring_list *klist;
unsigned long possessed;
struct key *keyring, *key; struct key *keyring, *key;
bool possessed;
int nkeys, loop; int nkeys, loop;
keyring = key_ref_to_ptr(keyring_ref); keyring = key_ref_to_ptr(keyring_ref);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment