Loading Documentation/security/keys.txt +3 −4 Original line number Diff line number Diff line Loading @@ -865,15 +865,14 @@ encountered: calling processes has a searchable link to the key from one of its keyrings. There are three functions for dealing with these: key_ref_t make_key_ref(const struct key *key, unsigned long possession); key_ref_t make_key_ref(const struct key *key, bool possession); 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 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 third retrieves the possession flag. Loading include/linux/key.h +2 −2 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ struct keyring_name; typedef struct __key_reference_with_attributes *key_ref_t; 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); } Loading @@ -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); } 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; } Loading security/keys/keyring.c +3 −2 Original line number Diff line number Diff line Loading @@ -329,9 +329,10 @@ key_ref_t keyring_search_aux(key_ref_t keyring_ref, struct keyring_list *keylist; struct timespec now; unsigned long possessed, kflags; unsigned long kflags; struct key *keyring, *key; key_ref_t key_ref; bool possessed; long err; int sp, nkeys, kix; Loading Loading @@ -542,8 +543,8 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref, key_perm_t perm) { struct keyring_list *klist; unsigned long possessed; struct key *keyring, *key; bool possessed; int nkeys, loop; keyring = key_ref_to_ptr(keyring_ref); Loading Loading
Documentation/security/keys.txt +3 −4 Original line number Diff line number Diff line Loading @@ -865,15 +865,14 @@ encountered: calling processes has a searchable link to the key from one of its keyrings. There are three functions for dealing with these: key_ref_t make_key_ref(const struct key *key, unsigned long possession); key_ref_t make_key_ref(const struct key *key, bool possession); 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 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 third retrieves the possession flag. Loading
include/linux/key.h +2 −2 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ struct keyring_name; typedef struct __key_reference_with_attributes *key_ref_t; 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); } Loading @@ -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); } 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; } Loading
security/keys/keyring.c +3 −2 Original line number Diff line number Diff line Loading @@ -329,9 +329,10 @@ key_ref_t keyring_search_aux(key_ref_t keyring_ref, struct keyring_list *keylist; struct timespec now; unsigned long possessed, kflags; unsigned long kflags; struct key *keyring, *key; key_ref_t key_ref; bool possessed; long err; int sp, nkeys, kix; Loading Loading @@ -542,8 +543,8 @@ key_ref_t __keyring_search_one(key_ref_t keyring_ref, key_perm_t perm) { struct keyring_list *klist; unsigned long possessed; struct key *keyring, *key; bool possessed; int nkeys, loop; keyring = key_ref_to_ptr(keyring_ref); Loading