aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-03-15 04:00:12 -0400
committerIngo Molnar <mingo@kernel.org>2016-03-15 04:01:06 -0400
commit8bc6782fe20bd2584c73a35c47329c9fd0a8d34c (patch)
treec7fc6f467ee212e4ef442e70843c48fcf3c67c17 /include/linux/compiler.h
parente23604edac2a7be6a8808a5d13fac6b9df4eb9a8 (diff)
parent3500efae4410454522697c94c23fc40323c0cee9 (diff)
Merge commit 'fixes.2015.02.23a' into core/rcu
Conflicts: kernel/rcu/tree.c Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/compiler.h')
-rw-r--r--include/linux/compiler.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index a27f4f17c382..b5ff9881bef8 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -20,12 +20,14 @@
20# define __pmem __attribute__((noderef, address_space(5))) 20# define __pmem __attribute__((noderef, address_space(5)))
21#ifdef CONFIG_SPARSE_RCU_POINTER 21#ifdef CONFIG_SPARSE_RCU_POINTER
22# define __rcu __attribute__((noderef, address_space(4))) 22# define __rcu __attribute__((noderef, address_space(4)))
23#else 23#else /* CONFIG_SPARSE_RCU_POINTER */
24# define __rcu 24# define __rcu
25#endif 25#endif /* CONFIG_SPARSE_RCU_POINTER */
26# define __private __attribute__((noderef))
26extern void __chk_user_ptr(const volatile void __user *); 27extern void __chk_user_ptr(const volatile void __user *);
27extern void __chk_io_ptr(const volatile void __iomem *); 28extern void __chk_io_ptr(const volatile void __iomem *);
28#else 29# define ACCESS_PRIVATE(p, member) (*((typeof((p)->member) __force *) &(p)->member))
30#else /* __CHECKER__ */
29# define __user 31# define __user
30# define __kernel 32# define __kernel
31# define __safe 33# define __safe
@@ -44,7 +46,9 @@ extern void __chk_io_ptr(const volatile void __iomem *);
44# define __percpu 46# define __percpu
45# define __rcu 47# define __rcu
46# define __pmem 48# define __pmem
47#endif 49# define __private
50# define ACCESS_PRIVATE(p, member) ((p)->member)
51#endif /* __CHECKER__ */
48 52
49/* Indirect macros required for expanded argument pasting, eg. __LINE__. */ 53/* Indirect macros required for expanded argument pasting, eg. __LINE__. */
50#define ___PASTE(a,b) a##b 54#define ___PASTE(a,b) a##b