lkml.org 
[lkml]   [2022]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] livepatch: Remove klp_arch_set_pc() and asm/livepatch.h
On Mon, Mar 28, 2022 at 08:26:48AM +0200, Christophe Leroy wrote:
> All three versions of klp_arch_set_pc() do exactly the same: they
> call ftrace_instruction_pointer_set().
>
> Call ftrace_instruction_pointer_set() directly and remove
> klp_arch_set_pc().
>
> As klp_arch_set_pc() was the only thing remaining in asm/livepatch.h
> on x86 and s390, remove asm/livepatch.h
>
> livepatch.h remains on powerpc but its content is exclusively used
> by powerpc specific code.

The only remaining thing seems to be a klp_init_thread_info() for ppc64,
but yeah..

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

> diff --git a/kernel/livepatch/patch.c b/kernel/livepatch/patch.c
> index c172bf92b576..4c4f5a776d80 100644
> --- a/kernel/livepatch/patch.c
> +++ b/kernel/livepatch/patch.c
> @@ -118,7 +118,7 @@ static void notrace klp_ftrace_handler(unsigned long ip,
> if (func->nop)
> goto unlock;
>
> - klp_arch_set_pc(fregs, (unsigned long)func->new_func);
> + ftrace_instruction_pointer_set(fregs, (unsigned long)func->new_func);
>
> unlock:
> ftrace_test_recursion_unlock(bit);

So ptrace has instruction_pointer_set(), I'm not sure why we have yet
another variant in the ftrace_ namespace. Perhaps also delete that?

\
 
 \ /
  Last update: 2022-03-28 12:25    [W:0.110 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site