diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-01-03 03:44:50 +0900 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2022-01-04 16:24:47 +0100 |
commit | cd88d010e862d26ce816eb3bd6735a80999ac41e (patch) | |
tree | 9fc5b22a8456de4c3ba552d6dbbbe494f92b0432 | |
parent | 7e338876577cb328632ce3e7753c0130b54dd7a2 (diff) | |
download | systemd-cd88d010e862d26ce816eb3bd6735a80999ac41e.tar.gz |
missing-syscall: add __NR_openat2
(cherry picked from commit d96ad9e8cb9fc8a9adfeebf69a645b809705daa0)
-rw-r--r-- | src/basic/missing_syscall_def.h | 66 | ||||
-rw-r--r-- | src/basic/missing_syscalls.py | 1 |
2 files changed, 67 insertions, 0 deletions
diff --git a/src/basic/missing_syscall_def.h b/src/basic/missing_syscall_def.h index 84d41d9fd3..d078bf70df 100644 --- a/src/basic/missing_syscall_def.h +++ b/src/basic/missing_syscall_def.h @@ -700,6 +700,72 @@ assert_cc(__NR_open_tree == systemd_NR_open_tree); # endif #endif +#ifndef __IGNORE_openat2 +# if defined(__aarch64__) +# define systemd_NR_openat2 437 +# elif defined(__alpha__) +# define systemd_NR_openat2 547 +# elif defined(__arc__) || defined(__tilegx__) +# define systemd_NR_openat2 437 +# elif defined(__arm__) +# define systemd_NR_openat2 437 +# elif defined(__i386__) +# define systemd_NR_openat2 437 +# elif defined(__ia64__) +# define systemd_NR_openat2 1461 +# elif defined(__loongarch64) +# define systemd_NR_openat2 437 +# elif defined(__m68k__) +# define systemd_NR_openat2 437 +# elif defined(_MIPS_SIM) +# if _MIPS_SIM == _MIPS_SIM_ABI32 +# define systemd_NR_openat2 4437 +# elif _MIPS_SIM == _MIPS_SIM_NABI32 +# define systemd_NR_openat2 6437 +# elif _MIPS_SIM == _MIPS_SIM_ABI64 +# define systemd_NR_openat2 5437 +# else +# error "Unknown MIPS ABI" +# endif +# elif defined(__powerpc__) +# define systemd_NR_openat2 437 +# elif defined(__riscv) +# if __riscv_xlen == 32 +# define systemd_NR_openat2 437 +# elif __riscv_xlen == 64 +# define systemd_NR_openat2 437 +# else +# error "Unknown RISC-V ABI" +# endif +# elif defined(__s390__) +# define systemd_NR_openat2 437 +# elif defined(__sparc__) +# define systemd_NR_openat2 437 +# elif defined(__x86_64__) +# if defined(__ILP32__) +# define systemd_NR_openat2 (437 | /* __X32_SYSCALL_BIT */ 0x40000000) +# else +# define systemd_NR_openat2 437 +# endif +# elif !defined(missing_arch_template) +# warning "openat2() syscall number is unknown for your architecture" +# endif + +/* may be an (invalid) negative number due to libseccomp, see PR 13319 */ +# if defined __NR_openat2 && __NR_openat2 >= 0 +# if defined systemd_NR_openat2 +assert_cc(__NR_openat2 == systemd_NR_openat2); +# endif +# else +# if defined __NR_openat2 +# undef __NR_openat2 +# endif +# if defined systemd_NR_openat2 && systemd_NR_openat2 >= 0 +# define __NR_openat2 systemd_NR_openat2 +# endif +# endif +#endif + #ifndef __IGNORE_pidfd_open # if defined(__aarch64__) # define systemd_NR_pidfd_open 434 diff --git a/src/basic/missing_syscalls.py b/src/basic/missing_syscalls.py index 1fbd619789..2694e83b98 100644 --- a/src/basic/missing_syscalls.py +++ b/src/basic/missing_syscalls.py @@ -16,6 +16,7 @@ SYSCALLS = [ 'move_mount', 'name_to_handle_at', 'open_tree', + 'openat2', 'pidfd_open', 'pidfd_send_signal', 'pkey_mprotect', |