]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
missing_syscall: memfd_create() is supported by glibc since 2.27
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 28 Feb 2025 12:49:03 +0000 (21:49 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 3 Mar 2025 17:24:36 +0000 (02:24 +0900)
Now, our baseline of glibc is 2.31, hence it is OK to drop it.

meson.build
src/basic/missing_mman.h
src/basic/missing_syscall.h
src/basic/missing_syscall_def.h
src/basic/missing_syscalls.py

index f4fd28410fb423c22b7e5286b1a6d5a9799fbdb3..a92d9f2cb08943a34b7b22b130aeaef16d7862f1 100644 (file)
@@ -603,7 +603,6 @@ foreach ident : ['secure_getenv', '__secure_getenv']
 endforeach
 
 foreach ident : [
-        ['memfd_create',      '''#include <sys/mman.h>'''],
         ['gettid',            '''#include <sys/types.h>
                                  #include <unistd.h>'''],
         ['fchmodat2',         '''#include <stdlib.h>
index d6a8b4bb9e64ef9ac294f9a8070d95feb75eb1bc..29196b1c71559fb26987b34b530554958563a611 100644 (file)
@@ -5,24 +5,14 @@
 
 #include "macro.h"
 
-#ifndef MFD_ALLOW_SEALING
-#  define MFD_ALLOW_SEALING 0x0002U
-#else
-assert_cc(MFD_ALLOW_SEALING == 0x0002U);
-#endif
-
-#ifndef MFD_CLOEXEC
-#  define MFD_CLOEXEC 0x0001U
-#else
-assert_cc(MFD_CLOEXEC == 0x0001U);
-#endif
-
+/* since glibc-2.38 */
 #ifndef MFD_NOEXEC_SEAL
 #  define MFD_NOEXEC_SEAL 0x0008U
 #else
 assert_cc(MFD_NOEXEC_SEAL == 0x0008U);
 #endif
 
+/* since glibc-2.38 */
 #ifndef MFD_EXEC
 #  define MFD_EXEC 0x0010U
 #else
index 3eab1a27efa837b23b3d32335eb93aa04a590762..531e2fafb4bfa2af915426bf4cf31657484943c8 100644 (file)
@@ -68,16 +68,6 @@ static inline int missing_ioprio_set(int which, int who, int ioprio) {
 
 /* ======================================================================= */
 
-#if !HAVE_MEMFD_CREATE
-static inline int missing_memfd_create(const char *name, unsigned int flags) {
-        return syscall(__NR_memfd_create, name, flags);
-}
-
-#  define memfd_create missing_memfd_create
-#endif
-
-/* ======================================================================= */
-
 #if !HAVE_GETRANDOM
 /* glibc says getrandom() returns ssize_t */
 static inline ssize_t missing_getrandom(void *buffer, size_t count, unsigned flags) {
index e042b6be8806a0417203e0bdf13b5a98a50c4a63..0b4a6190e1446774c3fc2d9733d668f4d3ef562f 100644 (file)
@@ -382,74 +382,6 @@ assert_cc(__NR_getrandom == systemd_NR_getrandom);
 #  endif
 #endif
 
-#ifndef __IGNORE_memfd_create
-#  if defined(__aarch64__)
-#    define systemd_NR_memfd_create 279
-#  elif defined(__alpha__)
-#    define systemd_NR_memfd_create 512
-#  elif defined(__arc__) || defined(__tilegx__)
-#    define systemd_NR_memfd_create 279
-#  elif defined(__arm__)
-#    define systemd_NR_memfd_create 385
-#  elif defined(__i386__)
-#    define systemd_NR_memfd_create 356
-#  elif defined(__ia64__)
-#    define systemd_NR_memfd_create 1340
-#  elif defined(__loongarch_lp64)
-#    define systemd_NR_memfd_create 279
-#  elif defined(__m68k__)
-#    define systemd_NR_memfd_create 353
-#  elif defined(_MIPS_SIM)
-#    if _MIPS_SIM == _MIPS_SIM_ABI32
-#      define systemd_NR_memfd_create 4354
-#    elif _MIPS_SIM == _MIPS_SIM_NABI32
-#      define systemd_NR_memfd_create 6318
-#    elif _MIPS_SIM == _MIPS_SIM_ABI64
-#      define systemd_NR_memfd_create 5314
-#    else
-#      error "Unknown MIPS ABI"
-#    endif
-#  elif defined(__hppa__)
-#    define systemd_NR_memfd_create 340
-#  elif defined(__powerpc__)
-#    define systemd_NR_memfd_create 360
-#  elif defined(__riscv)
-#    if __riscv_xlen == 32
-#      define systemd_NR_memfd_create 279
-#    elif __riscv_xlen == 64
-#      define systemd_NR_memfd_create 279
-#    else
-#      error "Unknown RISC-V ABI"
-#    endif
-#  elif defined(__s390__)
-#    define systemd_NR_memfd_create 350
-#  elif defined(__sparc__)
-#    define systemd_NR_memfd_create 348
-#  elif defined(__x86_64__)
-#    if defined(__ILP32__)
-#      define systemd_NR_memfd_create (319 | /* __X32_SYSCALL_BIT */ 0x40000000)
-#    else
-#      define systemd_NR_memfd_create 319
-#    endif
-#  elif !defined(missing_arch_template)
-#    warning "memfd_create() syscall number is unknown for your architecture"
-#  endif
-
-/* may be an (invalid) negative number due to libseccomp, see PR 13319 */
-#  if defined __NR_memfd_create && __NR_memfd_create >= 0
-#    if defined systemd_NR_memfd_create
-assert_cc(__NR_memfd_create == systemd_NR_memfd_create);
-#    endif
-#  else
-#    if defined __NR_memfd_create
-#      undef __NR_memfd_create
-#    endif
-#    if defined systemd_NR_memfd_create && systemd_NR_memfd_create >= 0
-#      define __NR_memfd_create systemd_NR_memfd_create
-#    endif
-#  endif
-#endif
-
 #ifndef __IGNORE_mount_setattr
 #  if defined(__aarch64__)
 #    define systemd_NR_mount_setattr 442
index e84e0afc202516f49ab58368f67d2748cf721e41..e7c16f640622ed038344f07afa0bacb759baf96a 100644 (file)
@@ -11,7 +11,6 @@ SYSCALLS = [
     'copy_file_range',
     'fchmodat2',
     'getrandom',
-    'memfd_create',
     'mount_setattr',
     'move_mount',
     'name_to_handle_at',