From: Yu Watanabe Date: Fri, 28 Feb 2025 13:45:25 +0000 (+0900) Subject: missing_syscall: setns is supported by glibc since 2.14 X-Git-Tag: v258-rc1~1195^2~31 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d322854cacfef1e06ce2f6dac2b4b933361c0842;p=thirdparty%2Fsystemd.git missing_syscall: setns is supported by glibc since 2.14 Also, CLONE_PIDFD is defined in sched.h since 2.31. Now our baseline of glibc is 2.31, hence it is OK to drop our definition. --- diff --git a/meson.build b/meson.build index fe8188acab8..ea47d1359af 100644 --- a/meson.build +++ b/meson.build @@ -610,7 +610,6 @@ foreach ident : [ ['ioprio_get', '''#include '''], # no known header declares ioprio_get ['ioprio_set', '''#include '''], # no known header declares ioprio_set ['sched_setattr', '''#include '''], - ['setns', '''#include '''], ['renameat2', '''#include #include '''], ['kcmp', '''#include '''], diff --git a/src/basic/missing_sched.h b/src/basic/missing_sched.h index 6e5e2b1e20b..d8e2b6d3c77 100644 --- a/src/basic/missing_sched.h +++ b/src/basic/missing_sched.h @@ -6,21 +6,8 @@ #include "macro.h" -/* 5e2bec7c2248ae27c5b16cd97215ae05c1d39179 (4.6) */ -#ifndef CLONE_NEWCGROUP -# define CLONE_NEWCGROUP 0x02000000 -#else -assert_cc(CLONE_NEWCGROUP == 0x02000000); -#endif - -/* b3e5838252665ee4cfa76b82bdf1198dca81e5be (5.2) */ -#ifndef CLONE_PIDFD -# define CLONE_PIDFD 0x00001000 -#else -assert_cc(CLONE_PIDFD == 0x00001000); -#endif - -/* 769071ac9f20b6a447410c7eaa55d1a5233ef40c (5.8) */ +/* 769071ac9f20b6a447410c7eaa55d1a5233ef40c (5.8), + * defined in sched.h since glibc-2.36. */ #ifndef CLONE_NEWTIME # define CLONE_NEWTIME 0x00000080 #else diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h index fac6f30b2f3..e9b6548ccd3 100644 --- a/src/basic/missing_syscall.h +++ b/src/basic/missing_syscall.h @@ -68,16 +68,6 @@ static inline int missing_ioprio_set(int which, int who, int ioprio) { /* ======================================================================= */ -#if !HAVE_SETNS -static inline int missing_setns(int fd, int nstype) { - return syscall(__NR_setns, fd, nstype); -} - -# define setns missing_setns -#endif - -/* ======================================================================= */ - static inline pid_t raw_getpid(void) { #if defined(__alpha__) return (pid_t) syscall(__NR_getxpid); diff --git a/src/basic/missing_syscall_def.h b/src/basic/missing_syscall_def.h index f35a6f2348b..1bd4889dac3 100644 --- a/src/basic/missing_syscall_def.h +++ b/src/basic/missing_syscall_def.h @@ -994,74 +994,6 @@ assert_cc(__NR_renameat2 == systemd_NR_renameat2); # endif #endif -#ifndef __IGNORE_setns -# if defined(__aarch64__) -# define systemd_NR_setns 268 -# elif defined(__alpha__) -# define systemd_NR_setns 501 -# elif defined(__arc__) || defined(__tilegx__) -# define systemd_NR_setns 268 -# elif defined(__arm__) -# define systemd_NR_setns 375 -# elif defined(__i386__) -# define systemd_NR_setns 346 -# elif defined(__ia64__) -# define systemd_NR_setns 1330 -# elif defined(__loongarch_lp64) -# define systemd_NR_setns 268 -# elif defined(__m68k__) -# define systemd_NR_setns 344 -# elif defined(_MIPS_SIM) -# if _MIPS_SIM == _MIPS_SIM_ABI32 -# define systemd_NR_setns 4344 -# elif _MIPS_SIM == _MIPS_SIM_NABI32 -# define systemd_NR_setns 6308 -# elif _MIPS_SIM == _MIPS_SIM_ABI64 -# define systemd_NR_setns 5303 -# else -# error "Unknown MIPS ABI" -# endif -# elif defined(__hppa__) -# define systemd_NR_setns 328 -# elif defined(__powerpc__) -# define systemd_NR_setns 350 -# elif defined(__riscv) -# if __riscv_xlen == 32 -# define systemd_NR_setns 268 -# elif __riscv_xlen == 64 -# define systemd_NR_setns 268 -# else -# error "Unknown RISC-V ABI" -# endif -# elif defined(__s390__) -# define systemd_NR_setns 339 -# elif defined(__sparc__) -# define systemd_NR_setns 337 -# elif defined(__x86_64__) -# if defined(__ILP32__) -# define systemd_NR_setns (308 | /* __X32_SYSCALL_BIT */ 0x40000000) -# else -# define systemd_NR_setns 308 -# endif -# elif !defined(missing_arch_template) -# warning "setns() syscall number is unknown for your architecture" -# endif - -/* may be an (invalid) negative number due to libseccomp, see PR 13319 */ -# if defined __NR_setns && __NR_setns >= 0 -# if defined systemd_NR_setns -assert_cc(__NR_setns == systemd_NR_setns); -# endif -# else -# if defined __NR_setns -# undef __NR_setns -# endif -# if defined systemd_NR_setns && systemd_NR_setns >= 0 -# define __NR_setns systemd_NR_setns -# endif -# endif -#endif - #ifndef __IGNORE_setxattrat # if defined(__aarch64__) # define systemd_NR_setxattrat 463 diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py index 59705471dfe..0302fa424a4 100644 --- a/src/basic/missing_syscalls.py +++ b/src/basic/missing_syscalls.py @@ -20,7 +20,6 @@ SYSCALLS = [ 'quotactl_fd', 'removexattrat', 'renameat2', - 'setns', 'setxattrat', ]