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

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

index ca7af554ac98213f0c9b5b2783656c49b8799604..6332dbb899476d0a294b59608a35ad03e3478b97 100644 (file)
@@ -613,8 +613,6 @@ foreach ident : [
         ['kcmp',              '''#include <linux/kcmp.h>'''],
         ['keyctl',            '''#include <sys/types.h>
                                  #include <keyutils.h>'''],
-        ['copy_file_range',   '''#include <sys/syscall.h>
-                                 #include <unistd.h>'''],
         ['bpf',               '''#include <sys/syscall.h>
                                  #include <unistd.h>'''],
         ['explicit_bzero' ,   '''#include <string.h>'''],
index 2eff224a47888a24ae72a836fa556b981f6eb821..be1edd6c9445deb51328f24fb5a193859b29981c 100644 (file)
@@ -110,24 +110,6 @@ static inline key_serial_t missing_request_key(const char *type, const char *des
 
 /* ======================================================================= */
 
-#if !HAVE_COPY_FILE_RANGE
-static inline ssize_t missing_copy_file_range(int fd_in, loff_t *off_in,
-                                              int fd_out, loff_t *off_out,
-                                              size_t len,
-                                              unsigned int flags) {
-#  ifdef __NR_copy_file_range
-        return syscall(__NR_copy_file_range, fd_in, off_in, fd_out, off_out, len, flags);
-#  else
-        errno = ENOSYS;
-        return -1;
-#  endif
-}
-
-#  define copy_file_range missing_copy_file_range
-#endif
-
-/* ======================================================================= */
-
 #if !HAVE_BPF
 union bpf_attr;
 
index 7e1c6a3c99eeadb6b10d808383d537087b5c037b..264fe606fc8da3036590c1b44604e02f912dc1d7 100644 (file)
@@ -178,74 +178,6 @@ assert_cc(__NR_close_range == systemd_NR_close_range);
 #  endif
 #endif
 
-#ifndef __IGNORE_copy_file_range
-#  if defined(__aarch64__)
-#    define systemd_NR_copy_file_range 285
-#  elif defined(__alpha__)
-#    define systemd_NR_copy_file_range 519
-#  elif defined(__arc__) || defined(__tilegx__)
-#    define systemd_NR_copy_file_range 285
-#  elif defined(__arm__)
-#    define systemd_NR_copy_file_range 391
-#  elif defined(__i386__)
-#    define systemd_NR_copy_file_range 377
-#  elif defined(__ia64__)
-#    define systemd_NR_copy_file_range 1347
-#  elif defined(__loongarch_lp64)
-#    define systemd_NR_copy_file_range 285
-#  elif defined(__m68k__)
-#    define systemd_NR_copy_file_range 376
-#  elif defined(_MIPS_SIM)
-#    if _MIPS_SIM == _MIPS_SIM_ABI32
-#      define systemd_NR_copy_file_range 4360
-#    elif _MIPS_SIM == _MIPS_SIM_NABI32
-#      define systemd_NR_copy_file_range 6324
-#    elif _MIPS_SIM == _MIPS_SIM_ABI64
-#      define systemd_NR_copy_file_range 5320
-#    else
-#      error "Unknown MIPS ABI"
-#    endif
-#  elif defined(__hppa__)
-#    define systemd_NR_copy_file_range 346
-#  elif defined(__powerpc__)
-#    define systemd_NR_copy_file_range 379
-#  elif defined(__riscv)
-#    if __riscv_xlen == 32
-#      define systemd_NR_copy_file_range 285
-#    elif __riscv_xlen == 64
-#      define systemd_NR_copy_file_range 285
-#    else
-#      error "Unknown RISC-V ABI"
-#    endif
-#  elif defined(__s390__)
-#    define systemd_NR_copy_file_range 375
-#  elif defined(__sparc__)
-#    define systemd_NR_copy_file_range 357
-#  elif defined(__x86_64__)
-#    if defined(__ILP32__)
-#      define systemd_NR_copy_file_range (326 | /* __X32_SYSCALL_BIT */ 0x40000000)
-#    else
-#      define systemd_NR_copy_file_range 326
-#    endif
-#  elif !defined(missing_arch_template)
-#    warning "copy_file_range() syscall number is unknown for your architecture"
-#  endif
-
-/* may be an (invalid) negative number due to libseccomp, see PR 13319 */
-#  if defined __NR_copy_file_range && __NR_copy_file_range >= 0
-#    if defined systemd_NR_copy_file_range
-assert_cc(__NR_copy_file_range == systemd_NR_copy_file_range);
-#    endif
-#  else
-#    if defined __NR_copy_file_range
-#      undef __NR_copy_file_range
-#    endif
-#    if defined systemd_NR_copy_file_range && systemd_NR_copy_file_range >= 0
-#      define __NR_copy_file_range systemd_NR_copy_file_range
-#    endif
-#  endif
-#endif
-
 #ifndef __IGNORE_fchmodat2
 #  if defined(__aarch64__)
 #    define systemd_NR_fchmodat2 452
index 3c5bcd15daa908695ff99ebe1d80bdc8a4c34fa6..01b20b1ca83b082adb3beb8546e159a4cab40bf8 100644 (file)
@@ -8,7 +8,6 @@ import functools
 SYSCALLS = [
     'bpf',
     'close_range',
-    'copy_file_range',
     'fchmodat2',
     'mount_setattr',
     'move_mount',