diff options
Diffstat (limited to 'include/linux/key.h')
-rw-r--r-- | include/linux/key.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/key.h b/include/linux/key.h index 3db0adce1fda..b2bb01719561 100644 --- a/include/linux/key.h +++ b/include/linux/key.h | |||
@@ -170,6 +170,7 @@ struct key { | |||
170 | struct list_head link; | 170 | struct list_head link; |
171 | unsigned long x[2]; | 171 | unsigned long x[2]; |
172 | void *p[2]; | 172 | void *p[2]; |
173 | int reject_error; | ||
173 | } type_data; | 174 | } type_data; |
174 | 175 | ||
175 | /* key data | 176 | /* key data |
@@ -275,6 +276,10 @@ static inline key_serial_t key_serial(struct key *key) | |||
275 | return key ? key->serial : 0; | 276 | return key ? key->serial : 0; |
276 | } | 277 | } |
277 | 278 | ||
279 | #define rcu_dereference_key(KEY) \ | ||
280 | (rcu_dereference_protected((KEY)->payload.rcudata, \ | ||
281 | rwsem_is_locked(&((struct key *)(KEY))->sem))) | ||
282 | |||
278 | #ifdef CONFIG_SYSCTL | 283 | #ifdef CONFIG_SYSCTL |
279 | extern ctl_table key_sysctls[]; | 284 | extern ctl_table key_sysctls[]; |
280 | #endif | 285 | #endif |