Re: [PATCH RFCv2 08/18] uprobes/x86: Add uprobe syscall to speed up uprobe
From: Alexei Starovoitov
Date: Tue Feb 25 2025 - 13:09:43 EST
On Tue, Feb 25, 2025 at 5:35 AM Jiri Olsa <olsajiri@xxxxxxxxx> wrote:
>
> > In later patches I see nop5 is replaced with a call to
> > uprobe_trampoline_entry, but which part saves
> > rdi and other regs?
> > Compiler doesn't automatically spill/fill around USDT's nop/nop5.
> > Selftest is doing:
> > +__naked noinline void uprobe_test(void)
> > so just lucky ?
>
> if you mean registers that would carry usdt arguments, ebpf programs
> access those based on assembler operand string stored in usdt record:
No. I'm talking about all normal registers that trap-style uprobe
preserves, but this nop5->call will scratch.
Instead of void uprobe_test(void)
add some arguments to it, and read them before and after nop5 uprobe.
They must remain the same.