Re: Crash when attaching uretprobes to processes running in Docker
From: Oleg Nesterov <oleg@redhat.com>
Date: 2025-01-14 11:21:48
Also in:
bpf, linux-trace-kernel, lkml
From: Oleg Nesterov <oleg@redhat.com>
Date: 2025-01-14 11:21:48
Also in:
bpf, linux-trace-kernel, lkml
On 01/14, Masami Hiramatsu wrote:
On Tue, 14 Jan 2025 10:22:20 +0100 Jiri Olsa [off-list ref] wrote:quoted
@@ -418,6 +439,9 @@ SYSCALL_DEFINE0(uretprobe) regs->r11 = regs->flags; regs->cx = regs->ip; + /* zero rbx to signal trampoline that uretprobe syscall was executed */ + regs->bx = 0;Can we just return -ENOSYS as like as other syscall instead of using rbx as a side channel? We can carefully check the return address is not -ERRNO when set up and reserve the -ENOSYS for this use case.
Not sure I understand... But please not that the uretprobed function can return any value including -ENOSYS, and this is what sys_uretprobe() has to return. Oleg.