On Tue, Feb 25, 2025 at 10:06 AM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > 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. Ignore me. It's a syscall insn. All fine.