diff options
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r-- | arch/s390/kernel/process.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index ec2e03b22ead..b825b3e1cb17 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include <linux/kernel_stat.h> | 32 | #include <linux/kernel_stat.h> |
33 | #include <linux/syscalls.h> | 33 | #include <linux/syscalls.h> |
34 | #include <linux/compat.h> | 34 | #include <linux/compat.h> |
35 | #include <linux/kprobes.h> | ||
35 | #include <asm/compat.h> | 36 | #include <asm/compat.h> |
36 | #include <asm/uaccess.h> | 37 | #include <asm/uaccess.h> |
37 | #include <asm/pgtable.h> | 38 | #include <asm/pgtable.h> |
@@ -116,15 +117,17 @@ void cpu_idle(void) | |||
116 | } | 117 | } |
117 | } | 118 | } |
118 | 119 | ||
119 | extern void kernel_thread_starter(void); | 120 | extern void __kprobes kernel_thread_starter(void); |
120 | 121 | ||
121 | asm( | 122 | asm( |
122 | ".align 4\n" | 123 | ".section .kprobes.text, \"ax\"\n" |
124 | ".global kernel_thread_starter\n" | ||
123 | "kernel_thread_starter:\n" | 125 | "kernel_thread_starter:\n" |
124 | " la 2,0(10)\n" | 126 | " la 2,0(10)\n" |
125 | " basr 14,9\n" | 127 | " basr 14,9\n" |
126 | " la 2,0\n" | 128 | " la 2,0\n" |
127 | " br 11\n"); | 129 | " br 11\n" |
130 | ".previous\n"); | ||
128 | 131 | ||
129 | int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) | 132 | int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) |
130 | { | 133 | { |