On Tue, Jan 14, 2025 at 12:21:07PM +0100, Oleg Nesterov wrote: > On 01/14, Masami Hiramatsu wrote: > > > > On Tue, 14 Jan 2025 10:22:20 +0100 > > Jiri Olsa <olsajiri@xxxxxxxxx> wrote: > > > > > @@ -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