Re: Crash when attaching uretprobes to processes running in Docker
From: Jiri Olsa <hidden>
Date: 2025-01-14 14:21:34
Also in:
bpf, linux-api, lkml
From: Jiri Olsa <hidden>
Date: 2025-01-14 14:21:34
Also in:
bpf, linux-api, lkml
On Tue, Jan 14, 2025 at 12:21:07PM +0100, Oleg Nesterov wrote:
On 01/14, Masami Hiramatsu wrote:quoted
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.
right, uretprobe syscall returns value of the uretprobed function, so we can't use any reserved value jirka