KEYS: Use bool in make_key_ref() and is_key_possessed()
authorDavid Howells <dhowells@redhat.com>
Tue, 24 Sep 2013 09:35:14 +0000 (10:35 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 24 Sep 2013 09:35:14 +0000 (10:35 +0100)
Make make_key_ref() take a bool possession parameter and make
is_key_possessed() return a bool.

Signed-off-by: David Howells <dhowells@redhat.com>
Documentation/security/keys.txt
include/linux/key.h
security/keys/keyring.c

index 7b4145d00452f259fe79eff4f400ecfc949a6fd1..9ede67084f0b74f11a9cf6ae69a7a8f2fc3d7a37 100644 (file)
@@ -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.
index 4dfde1161c5e7878565d05ad7f5293e9e4d19cef..51bce2950de4389cc018f56eafd1ca3cd40cf5c3 100644 (file)
@@ -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);
 }
@@ -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;
 }
index 6ece7f2e5707f45c2736ca4a05504c2dd391ea00..f78406372ebe402c1a51f0864b7562ad275cecf5 100644 (file)
@@ -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;
 
@@ -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);