Commit c3c9c851 authored by jan.koester's avatar jan.koester
Browse files

uid_r: follow the kernel 7.3 rebase of the uid_r series

7.3 has fchroot as system call 472 and SO_RIGHTS_NOTRUNC as socket
option 85, so the rebased series moved by one: the *_r uid and gid
system calls are now 473-492, SO_PEERCRED_R, SO_PEERGROUPS_R and
SO_PASSCRED_R 86-88. sysbits.h.in is what the build uses; the copy in
include/bits follows it.

build-chroot.sh takes the UAPI headers from the fenrir-uid-r-7.3 branch.

Co-Authored-By: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent b8258aa1
Loading
Loading
Loading
Loading
+3 −3
Changes for build-chroot.sh: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -303,11 +303,11 @@ build_kernel_headers() {
    if [[ ! -f $out/.done ]]; then
        mkdir -p "$WORK/src"
        if [[ ! -d $src/.git ]]; then
            msg "systempp: cloning custom linux kernel (branch: fenrir-uid-r) for UAPI headers"
            run fetch git clone --depth 1 --branch "fenrir-uid-r" git@git.tuxist.de:tuxist/linux "$src"
            msg "systempp: cloning custom linux kernel (branch: fenrir-uid-r-7.3) for UAPI headers"
            run fetch git clone --depth 1 --branch "fenrir-uid-r-7.3" git@git.tuxist.de:tuxist/linux "$src"
        else
            msg "systempp: updating custom linux kernel repository"
            run fetch git -C "$src" fetch origin fenrir-uid-r
            run fetch git -C "$src" fetch origin fenrir-uid-r-7.3
            run fetch git -C "$src" checkout -q --detach FETCH_HEAD
        fi
        msg "systempp: installing custom UAPI headers"
+21 −21
Changes for src/linux/arch/x86_64/include/bits/sysbits.h: 21 added lines, 21 removed lines.
Original line number Diff line number Diff line
@@ -356,24 +356,24 @@
#define __NR_landlock_add_rule	445
#define __NR_landlock_restrict_self	446

/* UUID and GUID ids (Linux *_r system calls, FenrirOS kernel) */
#define __NR_getuid_r		472
#define __NR_geteuid_r		473
#define __NR_getgid_r		474
#define __NR_getegid_r		475
#define __NR_setuid_r		476
#define __NR_setgid_r		477
#define __NR_setreuid_r		478
#define __NR_setregid_r		479
#define __NR_setresuid_r		480
#define __NR_getresuid_r		481
#define __NR_setresgid_r		482
#define __NR_getresgid_r		483
#define __NR_setfsuid_r		484
#define __NR_setfsgid_r		485
#define __NR_getgroups_r		486
#define __NR_setgroups_r		487
#define __NR_chown_r		488
#define __NR_lchown_r		489
#define __NR_fchown_r		490
#define __NR_fchownat_r		491
/* UUID and GUID ids (Linux *_r system calls, FenrirOS kernel 7.3) */
#define __NR_getuid_r		473
#define __NR_geteuid_r		474
#define __NR_getgid_r		475
#define __NR_getegid_r		476
#define __NR_setuid_r		477
#define __NR_setgid_r		478
#define __NR_setreuid_r		479
#define __NR_setregid_r		480
#define __NR_setresuid_r		481
#define __NR_getresuid_r		482
#define __NR_setresgid_r		483
#define __NR_getresgid_r		484
#define __NR_setfsuid_r		485
#define __NR_setfsgid_r		486
#define __NR_getgroups_r		487
#define __NR_setgroups_r		488
#define __NR_chown_r		489
#define __NR_lchown_r		490
#define __NR_fchown_r		491
#define __NR_fchownat_r		492
+21 −21
Changes for src/linux/arch/x86_64/sysbits.h.in: 21 added lines, 21 removed lines.
Original line number Diff line number Diff line
@@ -350,24 +350,24 @@
#define __NR_pidfd_getfd	438
#define __NR_faccessat2		439

/* UUID and GUID ids (Linux *_r system calls, FenrirOS kernel) */
#define __NR_getuid_r		472
#define __NR_geteuid_r		473
#define __NR_getgid_r		474
#define __NR_getegid_r		475
#define __NR_setuid_r		476
#define __NR_setgid_r		477
#define __NR_setreuid_r		478
#define __NR_setregid_r		479
#define __NR_setresuid_r		480
#define __NR_getresuid_r		481
#define __NR_setresgid_r		482
#define __NR_getresgid_r		483
#define __NR_setfsuid_r		484
#define __NR_setfsgid_r		485
#define __NR_getgroups_r		486
#define __NR_setgroups_r		487
#define __NR_chown_r		488
#define __NR_lchown_r		489
#define __NR_fchown_r		490
#define __NR_fchownat_r		491
/* UUID and GUID ids (Linux *_r system calls, FenrirOS kernel 7.3) */
#define __NR_getuid_r		473
#define __NR_geteuid_r		474
#define __NR_getgid_r		475
#define __NR_getegid_r		476
#define __NR_setuid_r		477
#define __NR_setgid_r		478
#define __NR_setreuid_r		479
#define __NR_setregid_r		480
#define __NR_setresuid_r		481
#define __NR_getresuid_r		482
#define __NR_setresgid_r		483
#define __NR_getresgid_r		484
#define __NR_setfsuid_r		485
#define __NR_setfsgid_r		486
#define __NR_getgroups_r		487
#define __NR_setgroups_r		488
#define __NR_chown_r		489
#define __NR_lchown_r		490
#define __NR_fchown_r		491
#define __NR_fchownat_r		492
+3 −3
Changes for src/linux/include/sys/socket.h: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -609,9 +609,9 @@ struct linger {
#endif
/* the same with UUID and GUID ids (struct ucred of _UID_R_SOURCE) */
#ifndef SO_PEERCRED_R
#define SO_PEERCRED_R 85
#define SO_PEERGROUPS_R 86
#define SO_PASSCRED_R 87
#define SO_PEERCRED_R 86
#define SO_PEERGROUPS_R 87
#define SO_PASSCRED_R 88
#endif
#define SCM_CREDENTIALS_R 5
/* With _UID_R_SOURCE uid_t and gid_t are 20 bytes and struct ucred is the
+1 −1
Changes for src/linux/uid_r.cpp: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ using systempp_yamldb::Doc;
namespace extdb = systempp_extdb;

#ifndef SO_PEERCRED_R
#define SO_PEERCRED_R 85
#define SO_PEERCRED_R 86
#endif
#define STATX_UID_R 0x00040000U
#define STATX_GID_R 0x00080000U