Skip to content

RFE: update syscall table to Linux v7.1.0-rc3#487

Open
drakenclimber wants to merge 2 commits into
seccomp:mainfrom
drakenclimber:v7.1.0-rc3
Open

RFE: update syscall table to Linux v7.1.0-rc3#487
drakenclimber wants to merge 2 commits into
seccomp:mainfrom
drakenclimber:v7.1.0-rc3

Conversation

@drakenclimber
Copy link
Copy Markdown
Member

@drakenclimber drakenclimber commented May 12, 2026

Update the syscall table to Linux v7.1.0-rc4.

This table was updated by running:
$ ./arch-syscall-validate -c syscalls.csv <kernel_directory>

A few notes:
* Kernel commit 8e0b986c59c6 ("s390: Remove compat support") removed
  31-bit s390 support.  Thus, any syscalls added to the kernel after
  this commit are not supported by 31-bit s390
* On parisc64, _llseek() changed from syscall 140 to PNR. Kernel
  commit da3680f564bd ("parisc: _llseek syscall is only available
  for 32-bit userspace") moved this syscall to 32-bit parisc only.
* The following syscalls were added:
  file_getattr(), file_setattr(), listns(), open_tree_attr(),
  rseq_slice_yield(), and uprobe()

@pcmoore
Copy link
Copy Markdown
Member

pcmoore commented May 19, 2026

This looks good to me, but while backporting it to the release-2.6 branch I realized that we can't keep fixing up the s390 entries by hand, we'll go crazy. Let me see if I can come up with something ...

@pcmoore
Copy link
Copy Markdown
Member

pcmoore commented May 19, 2026

Okay, see #490 for a possible s390 solution. I will note that the changes in #490 resulted in a different syscall table than this PR, but on quick glance it appeared to be correct (this PR looks to assign syscall numbers to syscalls beyond v6.18?).

Now that 31-bit s390 is deprecated in the kernel, libseccomp
has a built-in syscalls table for it, syscalls.s390.csv.  The
first line in this file is a comment outlining the kernel
version and date it is based upon.

Because of this, we need to skip comment lines in ABI files
when building syscalls.csv.

Signed-off-by: Tom Hromatka (Oracle) <tom.hromatka@gmail.com>
Update the syscall table to Linux v7.1.0-rc4.

This table was updated by running:
$ ./arch-syscall-validate -c syscalls.csv <kernel_directory>

A few notes:
* Kernel commit 8e0b986c59c6 ("s390: Remove compat support") removed
  31-bit s390 support.  Thus, any syscalls added to the kernel after
  this commit are not supported by 31-bit s390
* On parisc64, _llseek() changed from syscall 140 to PNR. Kernel
  commit da3680f564bd ("parisc: _llseek syscall is only available
  for 32-bit userspace") moved this syscall to 32-bit parisc only.
* The following syscalls were added:
  file_getattr(), file_setattr(), listns(), open_tree_attr(),
  rseq_slice_yield(), and uprobe()

Signed-off-by: Tom Hromatka (Oracle) <tom.hromatka@gmail.com>
@drakenclimber
Copy link
Copy Markdown
Member Author

Okay, see #490 for a possible s390 solution. I will note that the changes in #490 resulted in a different syscall table than this PR, but on quick glance it appeared to be correct (this PR looks to assign syscall numbers to syscalls beyond v6.18?).

You're correct. I should have PNR'ed syscalls newer than v6.18, but I didn't. I'll fix it shortly. Good catch.

@drakenclimber
Copy link
Copy Markdown
Member Author

I pushed a v2 of this patchset. Changes include:

  • PNR any 31-bit s390 syscall that is newer than v6.18
  • In arch-syscall-validate ignore comment lines from ABI CSVs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants