]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
missing_syscall: getrandom is supported by glibc since 2.25
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 28 Feb 2025 13:17:01 +0000 (22:17 +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_random.h
src/basic/missing_syscall.h
src/basic/missing_syscall_def.h
src/basic/missing_syscalls.py

index a92d9f2cb08943a34b7b22b130aeaef16d7862f1..de89853134c9de3f1629fe3bd8989210c1421eaf 100644 (file)
@@ -663,7 +663,6 @@ foreach ident : [
         ['getdents64',        '''#include <dirent.h>'''],
         ['pidfd_spawn',       '''#include <spawn.h>'''],
         ['strerrorname_np',   '''#include <string.h>'''],
-        ['getrandom',         '''#include <sys/random.h>'''],
         ['quotactl_fd',       '''#include <sys/quota.h>'''],
         ['setxattrat',        '''#include <sys/xattr.h>'''],  # no known header declares setxattrat
         ['removexattrat',     '''#include <sys/xattr.h>'''],  # no known header declares removexattrat
index 5f40c4e58c681f19f68c6c448c9fb0a0c6d6e919..690021969e4266b951cf668e7c2414f5046bee5d 100644 (file)
@@ -1,26 +1,11 @@
 /* SPDX-License-Identifier: LGPL-2.1-or-later */
 #pragma once
 
-#include "macro.h"
-
-#if HAVE_GETRANDOM
-#  include <sys/random.h>
-#else
-#  include <linux/random.h>
-#endif
-
-#ifndef GRND_NONBLOCK
-#  define GRND_NONBLOCK 0x0001
-#else
-assert_cc(GRND_NONBLOCK == 0x0001);
-#endif
+#include <sys/random.h>
 
-#ifndef GRND_RANDOM
-#  define GRND_RANDOM 0x0002
-#else
-assert_cc(GRND_RANDOM == 0x0002);
-#endif
+#include "macro.h"
 
+/* Defined since glibc-2.32. */
 #ifndef GRND_INSECURE
 #  define GRND_INSECURE 0x0004
 #else
index 531e2fafb4bfa2af915426bf4cf31657484943c8..5369cc53585df9630ae1f8de66cadae8e7babf2f 100644 (file)
@@ -68,17 +68,6 @@ static inline int missing_ioprio_set(int which, int who, int ioprio) {
 
 /* ======================================================================= */
 
-#if !HAVE_GETRANDOM
-/* glibc says getrandom() returns ssize_t */
-static inline ssize_t missing_getrandom(void *buffer, size_t count, unsigned flags) {
-        return syscall(__NR_getrandom, buffer, count, flags);
-}
-
-#  define getrandom missing_getrandom
-#endif
-
-/* ======================================================================= */
-
 /* The syscall has been defined since forever, but the glibc wrapper was missing. */
 #if !HAVE_GETTID
 static inline pid_t missing_gettid(void) {
index 0b4a6190e1446774c3fc2d9733d668f4d3ef562f..a98a2a203058bba7003120151802736467f2345c 100644 (file)
@@ -314,74 +314,6 @@ assert_cc(__NR_fchmodat2 == systemd_NR_fchmodat2);
 #  endif
 #endif
 
-#ifndef __IGNORE_getrandom
-#  if defined(__aarch64__)
-#    define systemd_NR_getrandom 278
-#  elif defined(__alpha__)
-#    define systemd_NR_getrandom 511
-#  elif defined(__arc__) || defined(__tilegx__)
-#    define systemd_NR_getrandom 278
-#  elif defined(__arm__)
-#    define systemd_NR_getrandom 384
-#  elif defined(__i386__)
-#    define systemd_NR_getrandom 355
-#  elif defined(__ia64__)
-#    define systemd_NR_getrandom 1339
-#  elif defined(__loongarch_lp64)
-#    define systemd_NR_getrandom 278
-#  elif defined(__m68k__)
-#    define systemd_NR_getrandom 352
-#  elif defined(_MIPS_SIM)
-#    if _MIPS_SIM == _MIPS_SIM_ABI32
-#      define systemd_NR_getrandom 4353
-#    elif _MIPS_SIM == _MIPS_SIM_NABI32
-#      define systemd_NR_getrandom 6317
-#    elif _MIPS_SIM == _MIPS_SIM_ABI64
-#      define systemd_NR_getrandom 5313
-#    else
-#      error "Unknown MIPS ABI"
-#    endif
-#  elif defined(__hppa__)
-#    define systemd_NR_getrandom 339
-#  elif defined(__powerpc__)
-#    define systemd_NR_getrandom 359
-#  elif defined(__riscv)
-#    if __riscv_xlen == 32
-#      define systemd_NR_getrandom 278
-#    elif __riscv_xlen == 64
-#      define systemd_NR_getrandom 278
-#    else
-#      error "Unknown RISC-V ABI"
-#    endif
-#  elif defined(__s390__)
-#    define systemd_NR_getrandom 349
-#  elif defined(__sparc__)
-#    define systemd_NR_getrandom 347
-#  elif defined(__x86_64__)
-#    if defined(__ILP32__)
-#      define systemd_NR_getrandom (318 | /* __X32_SYSCALL_BIT */ 0x40000000)
-#    else
-#      define systemd_NR_getrandom 318
-#    endif
-#  elif !defined(missing_arch_template)
-#    warning "getrandom() syscall number is unknown for your architecture"
-#  endif
-
-/* may be an (invalid) negative number due to libseccomp, see PR 13319 */
-#  if defined __NR_getrandom && __NR_getrandom >= 0
-#    if defined systemd_NR_getrandom
-assert_cc(__NR_getrandom == systemd_NR_getrandom);
-#    endif
-#  else
-#    if defined __NR_getrandom
-#      undef __NR_getrandom
-#    endif
-#    if defined systemd_NR_getrandom && systemd_NR_getrandom >= 0
-#      define __NR_getrandom systemd_NR_getrandom
-#    endif
-#  endif
-#endif
-
 #ifndef __IGNORE_mount_setattr
 #  if defined(__aarch64__)
 #    define systemd_NR_mount_setattr 442
index e7c16f640622ed038344f07afa0bacb759baf96a..81ef4feef6d35d8f0faa177648b0dc261ba35082 100644 (file)
@@ -10,7 +10,6 @@ SYSCALLS = [
     'close_range',
     'copy_file_range',
     'fchmodat2',
-    'getrandom',
     'mount_setattr',
     'move_mount',
     'name_to_handle_at',