summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2016-07-12 16:19:48 -0700
committerAlex Shi <alex.shi@linaro.org>2016-08-27 11:23:38 +0800
commitfdb92b0de361f9043f359a1de52e2bedd9da4599 (patch)
treeb78643598b82f60e0dd5c34456cb8701f48a9516 /include/linux
parent472dd6904d7bfd38d86ec3b8071b7260b51c290d (diff)
mm: Implement stack frame object validation
This creates per-architecture function arch_within_stack_frames() that should validate if a given object is contained by a kernel stack frame. Initial implementation is on x86. This is based on code from PaX. Signed-off-by: Kees Cook <keescook@chromium.org> (cherry picked from commit 0f60a8efe4005ab5e65ce000724b04d4ca04a199) Signed-off-by: Alex Shi <alex.shi@linaro.org> Conflicts: skip EBPF_JIT in arch/x86/Kconfig
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/thread_info.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
index ff307b548ed3..5ecb68e86968 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
@@ -145,6 +145,15 @@ static inline bool test_and_clear_restore_sigmask(void)
#error "no set_restore_sigmask() provided and default one won't work"
#endif
+#ifndef CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES
+static inline int arch_within_stack_frames(const void * const stack,
+ const void * const stackend,
+ const void *obj, unsigned long len)
+{
+ return 0;
+}
+#endif
+
#endif /* __KERNEL__ */
#endif /* _LINUX_THREAD_INFO_H */