Re: [PATCH v3 6/8] x86/module: perpare module loading for ROX allocations of text

From: Peter Zijlstra
Date: Mon Sep 09 2024 - 05:31:32 EST


On Mon, Sep 09, 2024 at 09:47:28AM +0300, Mike Rapoport wrote:
> diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
> index 8da0e66ca22d..563d9a890ce2 100644
> --- a/arch/x86/kernel/ftrace.c
> +++ b/arch/x86/kernel/ftrace.c

> @@ -654,4 +656,15 @@ void ftrace_graph_func(unsigned long ip, unsigned long parent_ip,
> }
> #endif
>
> +void ftrace_swap_func(void *a, void *b, int n)
> +{
> + unsigned long t;
> +
> + WARN_ON_ONCE(n != sizeof(t));
> +
> + t = *((unsigned long *)a);
> + text_poke_copy(a, b, sizeof(t));
> + text_poke_copy(b, &t, sizeof(t));
> +}

This is insane, just force BUILDTIME_MCOUNT_SORT