diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2016-09-26 15:47:03 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-09-26 15:47:03 -0400 |
commit | 1e1b37273cf719545da50b76f214f983a710aaf4 (patch) | |
tree | 033f6062325ef7aaeefe8559bb409ab7d2be3c76 /include/linux/compiler.h | |
parent | c183a603e8d8a5a189729b77d0c623a3d5950e5f (diff) | |
parent | c291b015158577be533dd5a959dfc09bab119eed (diff) |
Merge branch 'x86/urgent' into x86/apic
Bring in the upstream modifications so we can fixup the silent merge
conflict which is introduced by this merge.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/compiler.h')
-rw-r--r-- | include/linux/compiler.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 1bb954842725..436aa4e42221 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h | |||
@@ -527,13 +527,13 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s | |||
527 | * object's lifetime is managed by something other than RCU. That | 527 | * object's lifetime is managed by something other than RCU. That |
528 | * "something other" might be reference counting or simple immortality. | 528 | * "something other" might be reference counting or simple immortality. |
529 | * | 529 | * |
530 | * The seemingly unused void * variable is to validate @p is indeed a pointer | 530 | * The seemingly unused size_t variable is to validate @p is indeed a pointer |
531 | * type. All pointer types silently cast to void *. | 531 | * type by making sure it can be dereferenced. |
532 | */ | 532 | */ |
533 | #define lockless_dereference(p) \ | 533 | #define lockless_dereference(p) \ |
534 | ({ \ | 534 | ({ \ |
535 | typeof(p) _________p1 = READ_ONCE(p); \ | 535 | typeof(p) _________p1 = READ_ONCE(p); \ |
536 | __maybe_unused const void * const _________p2 = _________p1; \ | 536 | size_t __maybe_unused __size_of_ptr = sizeof(*(p)); \ |
537 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ | 537 | smp_read_barrier_depends(); /* Dependency order vs. p above. */ \ |
538 | (_________p1); \ | 538 | (_________p1); \ |
539 | }) | 539 | }) |