Re: [RFC][PATCH 1/2] x86: Allow breakpoints to emulate call functions

From: Masami Hiramatsu
Date: Tue May 07 2019 - 13:23:35 EST

2019å5æ7æ(ç) 21:54 Steven Rostedt <rostedt@xxxxxxxxxxx>:
> On Tue, 7 May 2019 14:41:31 +0200
> Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > > Kprobes sets the FTRACE_OPS_FL_IPMODIFY flag, thus
> > > they can never be put at the same location that is being live patched.
> >
> > OK, so do we want to allow kprobes that also modify regs->sp ? Because
> > then we need to change these trampolines a bit.
> >
> > I'd prefer not to allow kprobes this.
> I believe no kprobe changes sp, because it would have had the same
> issues we are trying to solve now. And even though we are changing
> things to allow it, it's not a regression to keep kprobes from doing it.

No, kprobes doesn't allow to change sp. At this moment we can't change
"&regs->sp" since it is just a value :)
kprobes user (e.g. function fault-injection) will change regs->ip,
that is why kprobes sets IPMODIFY flag.

Thank you,

Masami Hiramatsu