diff options
Diffstat (limited to 'arch/s390/kernel/ftrace.c')
| -rw-r--r-- | arch/s390/kernel/ftrace.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c index c46381ea04ec..ddf2ee47cb87 100644 --- a/arch/s390/kernel/ftrace.c +++ b/arch/s390/kernel/ftrace.c @@ -7,13 +7,13 @@   *   Author(s): Martin Schwidefsky <[email protected]>   */ -#include <linux/moduleloader.h>  #include <linux/hardirq.h>  #include <linux/uaccess.h>  #include <linux/ftrace.h>  #include <linux/kernel.h>  #include <linux/types.h>  #include <linux/kprobes.h> +#include <linux/execmem.h>  #include <trace/syscall.h>  #include <asm/asm-offsets.h>  #include <asm/text-patching.h> @@ -220,7 +220,7 @@ static int __init ftrace_plt_init(void)  {  	const char *start, *end; -	ftrace_plt = module_alloc(PAGE_SIZE); +	ftrace_plt = execmem_alloc(EXECMEM_FTRACE, PAGE_SIZE);  	if (!ftrace_plt)  		panic("cannot allocate ftrace plt\n"); @@ -296,6 +296,9 @@ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip,  	struct kprobe *p;  	int bit; +	if (unlikely(kprobe_ftrace_disabled)) +		return; +  	bit = ftrace_test_recursion_trylock(ip, parent_ip);  	if (bit < 0)  		return;  |