diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/lockdep.h | 4 | ||||
-rw-r--r-- | include/linux/rcupdate.h | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 9ccf0e286b2a..10206a87da19 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
@@ -534,4 +534,8 @@ do { \ | |||
534 | # define might_lock_read(lock) do { } while (0) | 534 | # define might_lock_read(lock) do { } while (0) |
535 | #endif | 535 | #endif |
536 | 536 | ||
537 | #ifdef CONFIG_PROVE_RCU | ||
538 | extern void lockdep_rcu_dereference(const char *file, const int line); | ||
539 | #endif | ||
540 | |||
537 | #endif /* __LINUX_LOCKDEP_H */ | 541 | #endif /* __LINUX_LOCKDEP_H */ |
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 839d296a7ac0..1a4de31bd7b4 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -182,8 +182,8 @@ static inline int rcu_read_lock_sched_held(void) | |||
182 | */ | 182 | */ |
183 | #define rcu_dereference_check(p, c) \ | 183 | #define rcu_dereference_check(p, c) \ |
184 | ({ \ | 184 | ({ \ |
185 | if (debug_locks) \ | 185 | if (debug_locks && !(c)) \ |
186 | WARN_ON_ONCE(!(c)); \ | 186 | lockdep_rcu_dereference(__FILE__, __LINE__); \ |
187 | rcu_dereference_raw(p); \ | 187 | rcu_dereference_raw(p); \ |
188 | }) | 188 | }) |
189 | 189 | ||