From: "Dmitry V. Levin" <ldv@strace.io>
To: Renzo Davoli <renzo@cs.unibo.it>
Cc: linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Oleg Nesterov <oleg@redhat.com>, Shuah Khan <shuah@kernel.org>,
Alexey Gladkov <legion@kernel.org>,
Eugene Syromyatnikov <evgsyr@gmail.com>,
Davide Berardi <berardi.dav@gmail.com>,
strace-devel@lists.strace.io
Subject: Re: [PATCH v4 1/2] ptrace: add PTRACE_SET_SYSCALL_INFO syscall skipping support
Date: Wed, 8 Jul 2026 18:32:50 +0300 [thread overview]
Message-ID: <20260708153250.GA32399@strace.io> (raw)
In-Reply-To: <20260708090655.38432-2-renzo@cs.unibo.it>
On Wed, Jul 08, 2026 at 11:06:54AM +0200, Renzo Davoli wrote:
> Extend PTRACE_SET_SYSCALL_INFO to support skipping a system call triggered
> via seccomp.
>
> When a tracer retrieves a ptrace_syscall_info structure with 'op' set to
> PTRACE_SYSCALL_INFO_SECCOMP, it can now choose to skip the system call.
> To do this, the tracer changes 'op' to PTRACE_SYSCALL_INFO_EXIT and
> populates the exit union fields (rval and is_error) to define the return
> value and error status for the tracee.
>
> System call suppression for PTRACE_SYSCALL_INFO_ENTRY is currently omitted
> because its implementation is architecture-dependent. On some architectures,
> the system call number and return value share the same register, making it
> difficult to suppress a system call without altering the return value. A
> portable implementation would require an audit of all supported architectures.
I suggest the following wording for the explanation why
PTRACE_SYSCALL_INFO_ENTRY is not supported yet:
System call suppression via PTRACE_SYSCALL_INFO_ENTRY is currently not
implemented. On some architectures (e.g. MIPS), when a system call
is skipped by setting the syscall number to -1 at the entry stop, the
architecture entry path unconditionally overwrites the return value
register with -ENOSYS before the tracer can set a custom return value
at the exit stop. A portable implementation of entry-based syscall
suppression would require an audit of all supported architectures
to ensure the tracer-provided return value is preserved.
--
ldv
next prev parent reply other threads:[~2026-07-08 15:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 9:06 [PATCH v4 0/2] PTRACE_SET_SYSCALL_INFO: add support for seccomp syscall skipping Renzo Davoli
2026-07-08 9:06 ` [PATCH v4 1/2] ptrace: add PTRACE_SET_SYSCALL_INFO syscall skipping support Renzo Davoli
2026-07-08 15:32 ` Dmitry V. Levin [this message]
2026-07-08 15:44 ` Oleg Nesterov
2026-07-08 22:09 ` Dmitry V. Levin
2026-07-09 6:07 ` Oleg Nesterov
2026-07-08 9:06 ` [PATCH v4 2/2] selftests/ptrace: add a test case for PTRACE_SET_SYSCALL_INFO syscall skipping Renzo Davoli
2026-07-08 9:57 ` Dmitry V. Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260708153250.GA32399@strace.io \
--to=ldv@strace.io \
--cc=akpm@linux-foundation.org \
--cc=berardi.dav@gmail.com \
--cc=evgsyr@gmail.com \
--cc=legion@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=renzo@cs.unibo.it \
--cc=shuah@kernel.org \
--cc=strace-devel@lists.strace.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.