diff options
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r-- | include/linux/rcupdate.h | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index d946d3660633..278a9da69ec4 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -508,40 +508,40 @@ static inline void rcu_preempt_sleep_check(void) | |||
508 | #endif /* #else #ifdef __CHECKER__ */ | 508 | #endif /* #else #ifdef __CHECKER__ */ |
509 | 509 | ||
510 | #define __rcu_access_pointer(p, space) \ | 510 | #define __rcu_access_pointer(p, space) \ |
511 | ({ \ | 511 | ({ \ |
512 | typeof(*p) *_________p1 = (typeof(*p)*__force )ACCESS_ONCE(p); \ | 512 | typeof(*p) *_________p1 = (typeof(*p) *__force)ACCESS_ONCE(p); \ |
513 | rcu_dereference_sparse(p, space); \ | 513 | rcu_dereference_sparse(p, space); \ |
514 | ((typeof(*p) __force __kernel *)(_________p1)); \ | 514 | ((typeof(*p) __force __kernel *)(_________p1)); \ |
515 | }) | 515 | }) |
516 | #define __rcu_dereference_check(p, c, space) \ | 516 | #define __rcu_dereference_check(p, c, space) \ |
517 | ({ \ | 517 | ({ \ |
518 | typeof(*p) *_________p1 = (typeof(*p)*__force )ACCESS_ONCE(p); \ | 518 | typeof(*p) *_________p1 = (typeof(*p) *__force)ACCESS_ONCE(p); \ |
519 | rcu_lockdep_assert(c, "suspicious rcu_dereference_check() usage"); \ | 519 | rcu_lockdep_assert(c, "suspicious rcu_dereference_check() usage"); \ |
520 | rcu_dereference_sparse(p, space); \ | 520 | rcu_dereference_sparse(p, space); \ |
521 | smp_read_barrier_depends(); \ | 521 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ |
522 | ((typeof(*p) __force __kernel *)(_________p1)); \ | 522 | ((typeof(*p) __force __kernel *)(_________p1)); \ |
523 | }) | 523 | }) |
524 | #define __rcu_dereference_protected(p, c, space) \ | 524 | #define __rcu_dereference_protected(p, c, space) \ |
525 | ({ \ | 525 | ({ \ |
526 | rcu_lockdep_assert(c, "suspicious rcu_dereference_protected() usage"); \ | 526 | rcu_lockdep_assert(c, "suspicious rcu_dereference_protected() usage"); \ |
527 | rcu_dereference_sparse(p, space); \ | 527 | rcu_dereference_sparse(p, space); \ |
528 | ((typeof(*p) __force __kernel *)(p)); \ | 528 | ((typeof(*p) __force __kernel *)(p)); \ |
529 | }) | 529 | }) |
530 | 530 | ||
531 | #define __rcu_access_index(p, space) \ | 531 | #define __rcu_access_index(p, space) \ |
532 | ({ \ | 532 | ({ \ |
533 | typeof(p) _________p1 = ACCESS_ONCE(p); \ | 533 | typeof(p) _________p1 = ACCESS_ONCE(p); \ |
534 | rcu_dereference_sparse(p, space); \ | 534 | rcu_dereference_sparse(p, space); \ |
535 | (_________p1); \ | 535 | (_________p1); \ |
536 | }) | 536 | }) |
537 | #define __rcu_dereference_index_check(p, c) \ | 537 | #define __rcu_dereference_index_check(p, c) \ |
538 | ({ \ | 538 | ({ \ |
539 | typeof(p) _________p1 = ACCESS_ONCE(p); \ | 539 | typeof(p) _________p1 = ACCESS_ONCE(p); \ |
540 | rcu_lockdep_assert(c, \ | 540 | rcu_lockdep_assert(c, \ |
541 | "suspicious rcu_dereference_index_check() usage"); \ | 541 | "suspicious rcu_dereference_index_check() usage"); \ |
542 | smp_read_barrier_depends(); \ | 542 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ |
543 | (_________p1); \ | 543 | (_________p1); \ |
544 | }) | 544 | }) |
545 | 545 | ||
546 | /** | 546 | /** |
547 | * RCU_INITIALIZER() - statically initialize an RCU-protected global variable | 547 | * RCU_INITIALIZER() - statically initialize an RCU-protected global variable |