diff options
Diffstat (limited to 'include/linux/key.h')
| -rw-r--r-- | include/linux/key.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/key.h b/include/linux/key.h index b2bb01719561..ef19b99aff98 100644 --- a/include/linux/key.h +++ b/include/linux/key.h | |||
| @@ -276,6 +276,19 @@ static inline key_serial_t key_serial(struct key *key) | |||
| 276 | return key ? key->serial : 0; | 276 | return key ? key->serial : 0; |
| 277 | } | 277 | } |
| 278 | 278 | ||
| 279 | /** | ||
| 280 | * key_is_instantiated - Determine if a key has been positively instantiated | ||
| 281 | * @key: The key to check. | ||
| 282 | * | ||
| 283 | * Return true if the specified key has been positively instantiated, false | ||
| 284 | * otherwise. | ||
| 285 | */ | ||
| 286 | static inline bool key_is_instantiated(const struct key *key) | ||
| 287 | { | ||
| 288 | return test_bit(KEY_FLAG_INSTANTIATED, &key->flags) && | ||
| 289 | !test_bit(KEY_FLAG_NEGATIVE, &key->flags); | ||
| 290 | } | ||
| 291 | |||
| 279 | #define rcu_dereference_key(KEY) \ | 292 | #define rcu_dereference_key(KEY) \ |
| 280 | (rcu_dereference_protected((KEY)->payload.rcudata, \ | 293 | (rcu_dereference_protected((KEY)->payload.rcudata, \ |
| 281 | rwsem_is_locked(&((struct key *)(KEY))->sem))) | 294 | rwsem_is_locked(&((struct key *)(KEY))->sem))) |
