From: Peter Zijlstra <peterz@infradead.org>
To: Sven Schnelle <svens@linux.ibm.com>
Cc: "Thomas Gleixner" <tglx@kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"Michal Suchánek" <msuchanek@suse.de>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Huacai Chen" <chenhuacai@kernel.org>,
"WANG Xuerui" <kernel@xen0n.name>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
"Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Andy Lutomirski" <luto@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
x86@kernel.org,
"Andrew Donnellan" <andrew+kernel@donnellan.id.au>,
"Mark Rutland" <mark.rutland@arm.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
"Ryan Roberts" <ryan.roberts@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Mukesh Kumar Chaurasiya" <mkchauras@linux.ibm.com>,
"Shrikanth Hegde" <sshegde@linux.ibm.com>,
"Zong Li" <zong.li@sifive.com>, "Nam Cao" <namcao@linutronix.de>,
"Deepak Gupta" <debug@rivosinc.com>,
"Lukas Gerlach" <lukas.gerlach@cispa.de>,
"Rui Qi" <qirui.001@bytedance.com>, "Kees Cook" <kees@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org
Subject: Re: [RFC] entry: Untangle the return value of syscall_enter_from_user_mode from syscall NR
Date: Fri, 3 Jul 2026 11:25:44 +0200 [thread overview]
Message-ID: <20260703092544.GB651302@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <yt9dwlvca8rn.fsf@linux.ibm.com>
On Fri, Jul 03, 2026 at 08:26:36AM +0200, Sven Schnelle wrote:
> The difference between x86 and s390 is that on s390, regs->gprs[2] is
> used for both the syscall number and the syscall return value.
> That was a design mistake early in the begin about 25 years ago, but
> it's ABI now, so it cannot be changed.
>
> When seccomp decides to skip a syscall, it write a return value into
> regs->gprs[2]. When syscall_enter_from_user_mode_work() returns, it
> returns this number. If it's negative all is good - the 'if (likely(nr <
> NR_syscalls))' conditiion would just catch it and skip the syscall.
You do have regs->orig_gpr2; I didn't fully track its usage, but can't
you treat that as the syscall nr and always consider regs->gprs[2] as the
return value?
WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <peterz@infradead.org>
To: Sven Schnelle <svens@linux.ibm.com>
Cc: "Thomas Gleixner" <tglx@kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"Michal Suchánek" <msuchanek@suse.de>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Huacai Chen" <chenhuacai@kernel.org>,
"WANG Xuerui" <kernel@xen0n.name>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
"Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Vasily Gorbik" <gor@linux.ibm.com>,
"Alexander Gordeev" <agordeev@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
"Andy Lutomirski" <luto@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
x86@kernel.org,
"Andrew Donnellan" <andrew+kernel@donnellan.id.au>,
"Mark Rutland" <mark.rutland@arm.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
"Ryan Roberts" <ryan.roberts@arm.com>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Mukesh Kumar Chaurasiya" <mkchauras@linux.ibm.com>,
"Shrikanth Hegde" <sshegde@linux.ibm.com>,
"Zong Li" <zong.li@sifive.com>, "Nam Cao" <namcao@linutronix.de>,
"Deepak Gupta" <debug@rivosinc.com>,
"Lukas Gerlach" <lukas.gerlach@cispa.de>,
"Rui Qi" <qirui.001@bytedance.com>, "Kees Cook" <kees@kernel.org>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
loongarch@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org
Subject: Re: [RFC] entry: Untangle the return value of syscall_enter_from_user_mode from syscall NR
Date: Fri, 3 Jul 2026 11:25:44 +0200 [thread overview]
Message-ID: <20260703092544.GB651302@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <yt9dwlvca8rn.fsf@linux.ibm.com>
On Fri, Jul 03, 2026 at 08:26:36AM +0200, Sven Schnelle wrote:
> The difference between x86 and s390 is that on s390, regs->gprs[2] is
> used for both the syscall number and the syscall return value.
> That was a design mistake early in the begin about 25 years ago, but
> it's ABI now, so it cannot be changed.
>
> When seccomp decides to skip a syscall, it write a return value into
> regs->gprs[2]. When syscall_enter_from_user_mode_work() returns, it
> returns this number. If it's negative all is good - the 'if (likely(nr <
> NR_syscalls))' conditiion would just catch it and skip the syscall.
You do have regs->orig_gpr2; I didn't fully track its usage, but can't
you treat that as the syscall nr and always consider regs->gprs[2] as the
return value?
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-07-03 9:26 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-01 17:42 [RFC] entry: Untangle the return value of syscall_enter_from_user_mode from syscall NR Michal Suchánek
2026-07-01 17:42 ` Michal Suchánek
2026-07-01 17:58 ` sashiko-bot
2026-07-01 18:29 ` H. Peter Anvin
2026-07-01 18:29 ` H. Peter Anvin
2026-07-02 9:30 ` Michal Suchánek
2026-07-02 9:30 ` Michal Suchánek
2026-07-02 21:49 ` Thomas Gleixner
2026-07-02 21:49 ` Thomas Gleixner
2026-07-03 6:26 ` Sven Schnelle
2026-07-03 6:26 ` Sven Schnelle
2026-07-03 9:25 ` Peter Zijlstra [this message]
2026-07-03 9:25 ` Peter Zijlstra
2026-07-03 9:27 ` Thomas Gleixner
2026-07-03 9:27 ` Thomas Gleixner
2026-07-03 9:59 ` Sven Schnelle
2026-07-03 9:59 ` Sven Schnelle
2026-07-03 10:57 ` Peter Zijlstra
2026-07-03 10:57 ` Peter Zijlstra
2026-07-03 11:17 ` Sven Schnelle
2026-07-03 11:17 ` Sven Schnelle
2026-07-03 11:25 ` Michal Suchánek
2026-07-03 11:25 ` Michal Suchánek
2026-07-03 11:39 ` Sven Schnelle
2026-07-03 11:39 ` Sven Schnelle
2026-07-04 17:18 ` H. Peter Anvin
2026-07-04 17:18 ` H. Peter Anvin
2026-07-06 5:27 ` Sven Schnelle
2026-07-06 5:27 ` Sven Schnelle
2026-07-04 17:23 ` H. Peter Anvin
2026-07-04 17:23 ` H. Peter Anvin
2026-07-02 8:12 ` Sven Schnelle
2026-07-02 8:12 ` Sven Schnelle
2026-07-02 9:12 ` Michal Suchánek
2026-07-02 12:01 ` Sven Schnelle
2026-07-02 12:01 ` Sven Schnelle
2026-07-02 12:13 ` Michal Suchánek
2026-07-03 6:16 ` Sven Schnelle
2026-07-03 6:16 ` Sven Schnelle
2026-07-02 11:24 ` Thomas Gleixner
2026-07-02 11:24 ` Thomas Gleixner
2026-07-02 11:45 ` Michal Suchánek
2026-07-02 11:45 ` Michal Suchánek
2026-07-02 20:45 ` Thomas Gleixner
2026-07-02 20:45 ` Thomas Gleixner
2026-07-03 7:53 ` Michal Suchánek
2026-07-03 9:34 ` Thomas Gleixner
2026-07-03 9:34 ` Thomas Gleixner
2026-07-06 8:16 ` Thomas Gleixner
2026-07-06 8:16 ` Thomas Gleixner
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=20260703092544.GB651302@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=agordeev@linux.ibm.com \
--cc=alex@ghiti.fr \
--cc=andrew+kernel@donnellan.id.au \
--cc=aou@eecs.berkeley.edu \
--cc=arnd@arndb.de \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=chenhuacai@kernel.org \
--cc=chleroy@kernel.org \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=debug@rivosinc.com \
--cc=gor@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=jiaxun.yang@flygoat.com \
--cc=kees@kernel.org \
--cc=kernel@xen0n.name \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=lukas.gerlach@cispa.de \
--cc=luto@kernel.org \
--cc=maddy@linux.ibm.com \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=mkchauras@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=msuchanek@suse.de \
--cc=namcao@linutronix.de \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=qirui.001@bytedance.com \
--cc=ryan.roberts@arm.com \
--cc=skhan@linuxfoundation.org \
--cc=sshegde@linux.ibm.com \
--cc=svens@linux.ibm.com \
--cc=tglx@kernel.org \
--cc=x86@kernel.org \
--cc=zong.li@sifive.com \
/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.