summaryrefslogtreecommitdiff
path: root/include/linux/compiler.h
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2020-05-19 20:34:12 +0200
committerPeter Zijlstra <peterz@infradead.org>2020-05-19 20:34:12 +0200
commit9013196a467e770e1470cccee6c0fe435ef37c66 (patch)
tree2aefbb9d14a1a7513af9e752fe5bb80cf6b00c0c /include/linux/compiler.h
parent2a0a24ebb499c9d499eea948d3fc108f936e36d4 (diff)
parent39f23ce07b9355d05a64ae303ce20d1c4b92b957 (diff)
Merge branch 'sched/urgent'
Diffstat (limited to 'include/linux/compiler.h')
-rw-r--r--include/linux/compiler.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index 034b0a644efc..448c91bf543b 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -356,4 +356,10 @@ static inline void *offset_to_ptr(const int *off)
/* &a[0] degrades to a pointer: a different type from an array */
#define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0]))
+/*
+ * This is needed in functions which generate the stack canary, see
+ * arch/x86/kernel/smpboot.c::start_secondary() for an example.
+ */
+#define prevent_tail_call_optimization() mb()
+
#endif /* __LINUX_COMPILER_H */