On Tue, Feb 25, 2025 at 10:06 AM Alexei Starovoitov
[off-list ref] wrote:
On Tue, Feb 25, 2025 at 5:35 AM Jiri Olsa [off-list ref] wrote:
quoted
quoted
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.