Re: [PATCH v3 2/4] arm64: ftrace: Simplify get_ftrace_plt

From: Mark Rutland
Date: Fri Mar 24 2023 - 14:03:47 EST


On Fri, Mar 24, 2023 at 06:14:49PM +0100, Florent Revest wrote:
> Following recent refactorings, the get_ftrace_plt function only ever
> gets called with addr = FTRACE_ADDR so its code can be simplified to
> always return the ftrace trampoline plt.
>
> Signed-off-by: Florent Revest <revest@xxxxxxxxxxxx>

Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Mark.

> ---
> arch/arm64/kernel/ftrace.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kernel/ftrace.c b/arch/arm64/kernel/ftrace.c
> index 758436727fba..432626c866a8 100644
> --- a/arch/arm64/kernel/ftrace.c
> +++ b/arch/arm64/kernel/ftrace.c
> @@ -195,15 +195,15 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
> return ftrace_modify_code(pc, 0, new, false);
> }
>
> -static struct plt_entry *get_ftrace_plt(struct module *mod, unsigned long addr)
> +static struct plt_entry *get_ftrace_plt(struct module *mod)
> {
> #ifdef CONFIG_ARM64_MODULE_PLTS
> struct plt_entry *plt = mod->arch.ftrace_trampolines;
>
> - if (addr == FTRACE_ADDR)
> - return &plt[FTRACE_PLT_IDX];
> -#endif
> + return &plt[FTRACE_PLT_IDX];
> +#else
> return NULL;
> +#endif
> }
>
> static bool reachable_by_bl(unsigned long addr, unsigned long pc)
> @@ -270,7 +270,7 @@ static bool ftrace_find_callable_addr(struct dyn_ftrace *rec,
> if (WARN_ON(!mod))
> return false;
>
> - plt = get_ftrace_plt(mod, *addr);
> + plt = get_ftrace_plt(mod);
> if (!plt) {
> pr_err("ftrace: no module PLT for %ps\n", (void *)*addr);
> return false;
> --
> 2.40.0.348.gf938b09366-goog
>