summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugh Dickins <hughd@google.com>2017-12-17 19:29:01 -0800
committerBen Hutchings <ben@decadent.org.uk>2018-01-07 01:46:49 +0000
commit026a90cb90fc41b70c275bd240bbe54dfb46497d (patch)
tree44913f648067ac8856cfaddca350b2a07f0ceb35
parent0cee3c94208ae76fc10459cf9398c63dc6956dad (diff)
downloadlinux-stable-026a90cb90fc41b70c275bd240bbe54dfb46497d.tar.gz
linux-stable-026a90cb90fc41b70c275bd240bbe54dfb46497d.tar.bz2
linux-stable-026a90cb90fc41b70c275bd240bbe54dfb46497d.zip
kaiser: user_map __kprobes_text too
In 3.2 (and earlier, and up to 3.15) Kaiser needs to user_map the __kprobes_text as well as the __entry_text: entry_64.S places some vital functions there, so without this you very soon triple-fault. Many thanks to Jiri Kosina for pointing me in this direction. Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r--arch/x86/mm/kaiser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/mm/kaiser.c b/arch/x86/mm/kaiser.c
index ab1dfa607546..fb16d79fc07a 100644
--- a/arch/x86/mm/kaiser.c
+++ b/arch/x86/mm/kaiser.c
@@ -281,6 +281,8 @@ void __init kaiser_init(void)
*/
kaiser_add_user_map_ptrs_early(__entry_text_start, __entry_text_end,
__PAGE_KERNEL_RX);
+ kaiser_add_user_map_ptrs_early(__kprobes_text_start, __kprobes_text_end,
+ __PAGE_KERNEL_RX);
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
kaiser_add_user_map_ptrs_early(__irqentry_text_start,
__irqentry_text_end,