lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <f4531526-e981-4160-8369-50a8c8d86e36@app.fastmail.com>
Date: Mon, 10 Nov 2025 21:51:53 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Heiko Carstens" <hca@...ux.ibm.com>,
 "Alexander Gordeev" <agordeev@...ux.ibm.com>,
 "Vasily Gorbik" <gor@...ux.ibm.com>,
 "Christian Borntraeger" <borntraeger@...ux.ibm.com>,
 "Sven Schnelle" <svens@...ux.ibm.com>,
 "Andreas Krebbel" <krebbel@...ux.ibm.com>,
 "Linus Torvalds" <torvalds@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org
Subject: Re: [RFC PATCH 8/8] s390/syscalls: Switch to generic system call table
 generation

On Mon, Nov 10, 2025, at 19:54, Heiko Carstens wrote:
> The s390 syscall.tbl format differs slightly from most others, and
> therefore requires an s390 specific system call table generation
> script.
> 
> With compat support gone use the opportunity to switch to generic
> system call table generation. The abi for all 64 bit system calls is
> now common, since there is no need to specify if system call entry
> points are only for 64 bit anymore.
> 
> Furthermore create the system call table in C instead of assembler
> code in order to get type checking for all system call functions
> contained within the table.

Thanks a lot for taking care of this!

I had a good look at the patch and checked that there are no
stale syscalls that are no longer needed, the formatting,
and the way this interfaces with the perf code that parses
the same table. Everything looks good as far as I can see.

> +161	common	sched_rr_get_interval		sys_sched_rr_get_interval
> +162	common	nanosleep			sys_nanosleep
> +163	common	mremap				sys_mremap
> +167	common	query_module
> +168	common	poll				sys_poll
> +169	common	nfsservctl
> +172	common	prctl				sys_prctl

Nothing wrong with your patch, but while reading through this, I noticed
that we are somewhat inconsistent about syscalls that are gone, with
three possible methods:

# 167 was query_module
167	common	query_module                  sys_ni_syscall
167	common	query_module

You use the third one now, which is the same as x86 but nothing
else. The second one using an explicit 'sys_ni_syscall' is the
most common and has the same effect, so maybe use that as well.

Eventually we may want to convert everything to the first method
and drop the syscall macros, but that would be visible in
user-space and might cause regression, so it should be a
separate series across all architectures if we want to go there.

I believe we just chickened out when we did the conversion to
syscall.tbl format originally and just left whatever was
in the unistd.h headers at the time.

    Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ