[PATCH 00/13] Linux header update for 6.13 and later

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 3 19:38:51 GMT 2025


There are a couple of new syscalls, file_getattr and file_setattr, added
on 6.17; aarch64 hwcap update, ‘statx.h’ new flags, and 3 new constants
for fcntl-linux.h.

The pidfd requires exporting a new struct to support the PIDFD_GET_INFO
ioctl command. The patch also includes additional tests for the new
features.

For statx update, I noticed that the previous one did not extend the
generic struct statx with the new fields.  Since the generic struct is
used if the kernel header can not be included, it makes sense to update
the generic struct.

There is still one new FD_INVALID field added by kernel commit
cd5d2006327b6d8488612cb8c03ad7304417c8f2 that I consider somewhat
dangerous to add, since it appears to be used by some projects. It is
not clear from the kernel commit why it is exposed to userland.

Adhemerval Zanella (13):
  Update kernel version to 6.17 in header constant tests
  Update PIDFD_* constants for Linux 6.17
  Add new AArch64 HWCAP3 definitions from Linux 6.17 to bits/hwcap.h
  Update syscall lists for Linux 6.17
  linux: Add STATX_MNT_ID_UNIQUE definition to generic statx
  linux: Add STATX_DOALIGN definition to generic statx
  linux: Add STATX_SUBVOL definition to generic statx
  linux: Add STATX_WRITE_ATOMIC/STATX_ATTR_WRITE_ATOMIC definitions to
    generic statx
  linux: Update statx-generic.h with linux 6.14
  linux: Update statx-generic.h with linux 6.16
  Add AT_HANDLE_CONNECTABLE from Linux 6.13 to bits/fcntl-linux.h
  Add AT_EXECVE_CHECK from Linux 6.14 to bits/fcntl-linux.h
  Add FD_PIDFS_ROOT from Linux 6.17 to bits/fcntl-linux.h

 io/bits/statx-generic.h                       |  1 +
 io/bits/types/struct_statx.h                  | 12 +++-
 io/tst-statx.c                                |  3 +-
 sysdeps/unix/sysv/linux/Makefile              |  1 +
 .../unix/sysv/linux/aarch64/arch-syscall.h    |  2 +
 sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h  |  3 +
 sysdeps/unix/sysv/linux/alpha/arch-syscall.h  |  2 +
 sysdeps/unix/sysv/linux/arc/arch-syscall.h    |  2 +
 sysdeps/unix/sysv/linux/arm/arch-syscall.h    |  2 +
 sysdeps/unix/sysv/linux/bits/fcntl-linux.h    |  8 +++
 sysdeps/unix/sysv/linux/csky/arch-syscall.h   |  2 +
 sysdeps/unix/sysv/linux/hppa/arch-syscall.h   |  2 +
 sysdeps/unix/sysv/linux/i386/arch-syscall.h   |  2 +
 .../unix/sysv/linux/loongarch/arch-syscall.h  |  2 +
 sysdeps/unix/sysv/linux/m68k/arch-syscall.h   |  2 +
 .../unix/sysv/linux/microblaze/arch-syscall.h |  2 +
 .../sysv/linux/mips/mips32/arch-syscall.h     |  2 +
 .../sysv/linux/mips/mips64/n32/arch-syscall.h |  2 +
 .../sysv/linux/mips/mips64/n64/arch-syscall.h |  2 +
 sysdeps/unix/sysv/linux/or1k/arch-syscall.h   |  2 +
 .../linux/powerpc/powerpc32/arch-syscall.h    |  2 +
 .../linux/powerpc/powerpc64/arch-syscall.h    |  2 +
 .../unix/sysv/linux/riscv/rv32/arch-syscall.h |  2 +
 .../unix/sysv/linux/riscv/rv64/arch-syscall.h |  2 +
 .../sysv/linux/s390/s390-32/arch-syscall.h    |  2 +
 .../sysv/linux/s390/s390-64/arch-syscall.h    |  2 +
 sysdeps/unix/sysv/linux/sh/arch-syscall.h     |  2 +
 .../sysv/linux/sparc/sparc32/arch-syscall.h   |  2 +
 .../sysv/linux/sparc/sparc64/arch-syscall.h   |  2 +
 sysdeps/unix/sysv/linux/sys/pidfd.h           | 58 +++++++++++++++
 sysdeps/unix/sysv/linux/syscall-names.list    |  6 +-
 sysdeps/unix/sysv/linux/tst-mman-consts.py    |  2 +-
 sysdeps/unix/sysv/linux/tst-mount-consts.py   |  4 +-
 sysdeps/unix/sysv/linux/tst-pidfd-consts.py   |  2 +-
 sysdeps/unix/sysv/linux/tst-pidfd.c           | 44 +++++++++++-
 sysdeps/unix/sysv/linux/tst-pidfd_getinfo.c   | 71 +++++++++++++++++++
 sysdeps/unix/sysv/linux/tst-sched-consts.py   |  2 +-
 .../unix/sysv/linux/x86_64/64/arch-syscall.h  |  2 +
 .../unix/sysv/linux/x86_64/x32/arch-syscall.h |  2 +
 39 files changed, 255 insertions(+), 12 deletions(-)
 create mode 100644 sysdeps/unix/sysv/linux/tst-pidfd_getinfo.c

-- 
2.43.0



More information about the Libc-alpha mailing list