aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/rcupdate.h15
1 files changed, 5 insertions, 10 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
index b200756ea4c0..d946d3660633 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -479,11 +479,9 @@ static inline void rcu_preempt_sleep_check(void)
479 do { \ 479 do { \
480 rcu_preempt_sleep_check(); \ 480 rcu_preempt_sleep_check(); \
481 rcu_lockdep_assert(!lock_is_held(&rcu_bh_lock_map), \ 481 rcu_lockdep_assert(!lock_is_held(&rcu_bh_lock_map), \
482 "Illegal context switch in RCU-bh" \ 482 "Illegal context switch in RCU-bh read-side critical section"); \
483 " read-side critical section"); \
484 rcu_lockdep_assert(!lock_is_held(&rcu_sched_lock_map), \ 483 rcu_lockdep_assert(!lock_is_held(&rcu_sched_lock_map), \
485 "Illegal context switch in RCU-sched"\ 484 "Illegal context switch in RCU-sched read-side critical section"); \
486 " read-side critical section"); \
487 } while (0) 485 } while (0)
488 486
489#else /* #ifdef CONFIG_PROVE_RCU */ 487#else /* #ifdef CONFIG_PROVE_RCU */
@@ -518,16 +516,14 @@ static inline void rcu_preempt_sleep_check(void)
518#define __rcu_dereference_check(p, c, space) \ 516#define __rcu_dereference_check(p, c, space) \
519 ({ \ 517 ({ \
520 typeof(*p) *_________p1 = (typeof(*p)*__force )ACCESS_ONCE(p); \ 518 typeof(*p) *_________p1 = (typeof(*p)*__force )ACCESS_ONCE(p); \
521 rcu_lockdep_assert(c, "suspicious rcu_dereference_check()" \ 519 rcu_lockdep_assert(c, "suspicious rcu_dereference_check() usage"); \
522 " usage"); \
523 rcu_dereference_sparse(p, space); \ 520 rcu_dereference_sparse(p, space); \
524 smp_read_barrier_depends(); \ 521 smp_read_barrier_depends(); \
525 ((typeof(*p) __force __kernel *)(_________p1)); \ 522 ((typeof(*p) __force __kernel *)(_________p1)); \
526 }) 523 })
527#define __rcu_dereference_protected(p, c, space) \ 524#define __rcu_dereference_protected(p, c, space) \
528 ({ \ 525 ({ \
529 rcu_lockdep_assert(c, "suspicious rcu_dereference_protected()" \ 526 rcu_lockdep_assert(c, "suspicious rcu_dereference_protected() usage"); \
530 " usage"); \
531 rcu_dereference_sparse(p, space); \ 527 rcu_dereference_sparse(p, space); \
532 ((typeof(*p) __force __kernel *)(p)); \ 528 ((typeof(*p) __force __kernel *)(p)); \
533 }) 529 })
@@ -542,8 +538,7 @@ static inline void rcu_preempt_sleep_check(void)
542 ({ \ 538 ({ \
543 typeof(p) _________p1 = ACCESS_ONCE(p); \ 539 typeof(p) _________p1 = ACCESS_ONCE(p); \
544 rcu_lockdep_assert(c, \ 540 rcu_lockdep_assert(c, \
545 "suspicious rcu_dereference_index_check()" \ 541 "suspicious rcu_dereference_index_check() usage"); \
546 " usage"); \
547 smp_read_barrier_depends(); \ 542 smp_read_barrier_depends(); \
548 (_________p1); \ 543 (_________p1); \
549 }) 544 })