Re: [patch 13/18] entry: Make trace_syscall_enter() return type bool
Oleg Nesterov <[email protected]> Fri, 10 Jul 2026 14:52:40 +0200
| Newsgroups | gmane.linux.ports.ppc64.devel,gmane.linux.kernel,gmane.linux.ports.riscv,gmane.linux.ports.arm.kernel,gmane.linux.ports.alpha,gmane.linux.ports.mips,gmane.linux.ports.parisc,gmane.linux.ports.sh.devel,gmane.linux.uml.devel,gmane.linux.kernel.arc,gmane.linux.ports.hexagon,gmane.linux.ports.sparc,gmane.linux.kernel.cross-arch,gmane.linux.documentation |
|---|---|
| Message-ID | <[email protected]> |
On 07/10, Michal Suchánek wrote: > > On Fri, Jul 10, 2026 at 01:40:43PM +0200, Oleg Nesterov wrote: > > > > I can only say that ptrace users do want to skip the syscall and set the > > return value on entry. > > > > See > > [PATCH v5 1/2] ptrace: add PTRACE_SET_SYSCALL_INFO syscall skipping support > > https://lore.kernel.org/all/[email protected]/ > > > > The changelog explains that currently this doesn't work because > > among the arches which define HAVE_ARCH_TRACEHOOK (at least) arch/mips is > > broken in this regard. > > Or it could be documented that setting the return value has to be done > in the exit trace, and that would than work on any architecture AFAICT. Well, ptrace users know the problem. And this what they have to do currently. > With ppc and s390 using the same register for the syscall number and > syscall return value it's very much impossible to poke the return value > on entry into a register using the generic register access function. As > of now there is no place to store the value ot of the return value > outside of the registers, either. I know nothing about ppc and s390. Can't comment right now. > And the current PTRACE_SET_SYSCALL_INFO indeed sets the syscall nr and > arguments on entry and the syscall return value on exit, that > disctincion is implemented. > > Not sure how the patchset you point out is relevant, it only adds > changes in the exit case. No. It allows to skip-and-set-retval on PTRACE_EVENT_SECCOMP. But ENTRY -> EXIT transition is not yet allowed due to the problems above. Oleg.