]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
s390/ftrace: Use kernel ftrace trampoline for modules
authorVasily Gorbik <gor@linux.ibm.com>
Wed, 21 Aug 2024 18:06:16 +0000 (20:06 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 27 Aug 2024 18:16:48 +0000 (20:16 +0200)
Now that both the kernel modules area and the kernel image itself are
located within 4 GB, there is no longer a need to maintain a separate
ftrace_plt trampoline. Use the existing trampoline in the kernel.

Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/kernel/ftrace.c

index 0bd6adc40a344d0c097a2812b79799ff5672d07f..9552b1e7121fad499ef952db62276e7bc231e3a0 100644 (file)
@@ -50,10 +50,6 @@ struct ftrace_insn {
        s32 disp;
 } __packed;
 
-#ifdef CONFIG_MODULES
-static char *ftrace_plt;
-#endif /* CONFIG_MODULES */
-
 static const char *ftrace_shared_hotpatch_trampoline(const char **end)
 {
        const char *tstart, *tend;
@@ -99,7 +95,6 @@ int ftrace_init_nop(struct module *mod, struct dyn_ftrace *rec)
        if (mod) {
                next_trampoline = &mod->arch.next_trampoline;
                trampolines_end = mod->arch.trampolines_end;
-               shared = ftrace_plt;
        }
 #endif
 
@@ -215,25 +210,6 @@ void ftrace_arch_code_modify_post_process(void)
        text_poke_sync_lock();
 }
 
-#ifdef CONFIG_MODULES
-
-static int __init ftrace_plt_init(void)
-{
-       const char *start, *end;
-
-       ftrace_plt = execmem_alloc(EXECMEM_FTRACE, PAGE_SIZE);
-       if (!ftrace_plt)
-               panic("cannot allocate ftrace plt\n");
-
-       start = ftrace_shared_hotpatch_trampoline(&end);
-       memcpy(ftrace_plt, start, end - start);
-       set_memory_rox((unsigned long)ftrace_plt, 1);
-       return 0;
-}
-device_initcall(ftrace_plt_init);
-
-#endif /* CONFIG_MODULES */
-
 #ifdef CONFIG_FUNCTION_GRAPH_TRACER
 /*
  * Hook the return address and push it in the stack of return addresses