diff options
-rw-r--r-- | include/linux/rcupdate.h | 15 |
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 | }) |