Pull additional syscall ABI cleanup for y2038 from Arnd Bergmann: This is a follow-up to the y2038 syscall patches already merged in the tip tree. As the final 32-bit RISC-V syscall ABI is still being decided on, this is the last chance to make a few corrections to leave out interfaces based on 32-bit time_t along with the old off_t and rlimit types. The series achieves this in a few steps: - A couple of bug fixes for minor regressions I introduced in the original series - A couple of older patches from Yury Norov that I had never merged in the past, these fix up the openat/open_by_handle_at and getrlimit/setrlimit syscalls to disallow the old versions of off_t and rlimit. - Hiding the deprecated system calls behind an #ifdef in include/uapi/asm-generic/unistd.h - Change arch/riscv to drop all these ABIs. Originally, the plan was to also leave these out on C-Sky, but that now has a glibc port that uses the older interfaces, so we need to leave them in place.
Unified · Split
| @@ -276,6 +276,16 @@ config ARCH_THREAD_STACK_ALLOCATOR · 275 unmodified lines | ||
| 276 | 276 | config ARCH_WANTS_DYNAMIC_TASK_STRUCT |
| 277 | 277 | bool |
| 278 | 278 | |
| 279 | +config ARCH_32BIT_OFF_T | |
| 280 | + bool | |
| 281 | + depends on !64BIT | |
| 282 | + help | |
| 283 | + All new 32-bit architectures should have 64-bit off_t type on | |
| 284 | + userspace side which corresponds to the loff_t kernel type. This | |
| 285 | + is the requirement for modern ABIs. Some existing architectures | |
| 286 | + still support 32-bit off_t. This option is enabled for all such | |
| 287 | + architectures explicitly. | |
| 288 | + | |
| 279 | 289 | config HAVE_REGS_AND_STACK_ACCESS_API |
| 280 | 290 | bool |
| 281 | 291 | help |
| @@ -14,6 +14,7 @@ config ARC · 13 unmodified lines | ||
| 14 | 14 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 15 | 15 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 16 | 16 | select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC |
| 17 | + select ARCH_32BIT_OFF_T | |
| 17 | 18 | select BUILDTIME_EXTABLE_SORT |
| 18 | 19 | select CLONE_BACKWARDS |
| 19 | 20 | select COMMON_CLK |
| @@ -18,10 +18,12 @@ · 17 unmodified lines | ||
| 18 | 18 | |
| 19 | 19 | #define __ARCH_WANT_RENAMEAT |
| 20 | 20 | #define __ARCH_WANT_STAT64 |
| 21 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 21 | 22 | #define __ARCH_WANT_SYS_EXECVE |
| 22 | 23 | #define __ARCH_WANT_SYS_CLONE |
| 23 | 24 | #define __ARCH_WANT_SYS_VFORK |
| 24 | 25 | #define __ARCH_WANT_SYS_FORK |
| 26 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 25 | 27 | |
| 26 | 28 | #define sys_mmap2 sys_mmap_pgoff |
| 27 | 29 | |
| @@ -2,6 +2,7 @@ · 1 unmodified line | ||
| 2 | 2 | config ARM |
| 3 | 3 | bool |
| 4 | 4 | default y |
| 5 | + select ARCH_32BIT_OFF_T | |
| 5 | 6 | select ARCH_CLOCKSOURCE_DATA |
| 6 | 7 | select ARCH_DISCARD_MEMBLOCK if !HAVE_ARCH_PFN_VALID && !KEXEC |
| 7 | 8 | select ARCH_HAS_DEBUG_VIRTUAL if MMU |
| @@ -17,5 +17,7 @@ · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | #define __ARCH_WANT_RENAMEAT |
| 19 | 19 | #define __ARCH_WANT_NEW_STAT |
| 20 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 21 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 20 | 22 | |
| 21 | 23 | #include <asm-generic/unistd.h> |
| @@ -6,6 +6,7 @@ · 5 unmodified lines | ||
| 6 | 6 | |
| 7 | 7 | config C6X |
| 8 | 8 | def_bool y |
| 9 | + select ARCH_32BIT_OFF_T | |
| 9 | 10 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 10 | 11 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 11 | 12 | select CLKDEV_LOOKUP |
| @@ -17,7 +17,9 @@ · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | #define __ARCH_WANT_RENAMEAT |
| 19 | 19 | #define __ARCH_WANT_STAT64 |
| 20 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 20 | 21 | #define __ARCH_WANT_SYS_CLONE |
| 22 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 21 | 23 | |
| 22 | 24 | /* Use the standard ABI for syscalls. */ |
| 23 | 25 | #include <asm-generic/unistd.h> |
| @@ -1,5 +1,6 @@ | ||
| 1 | 1 | config CSKY |
| 2 | 2 | def_bool y |
| 3 | + select ARCH_32BIT_OFF_T | |
| 3 | 4 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 4 | 5 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 5 | 6 | select ARCH_USE_BUILTIN_BSWAP |
| @@ -2,6 +2,8 @@ · 1 unmodified line | ||
| 2 | 2 | // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. |
| 3 | 3 | |
| 4 | 4 | #define __ARCH_WANT_SYS_CLONE |
| 5 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 6 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 5 | 7 | #include <asm-generic/unistd.h> |
| 6 | 8 | |
| 7 | 9 | #define __NR_set_thread_area (__NR_arch_specific_syscall + 0) |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | config H8300 |
| 3 | 3 | def_bool y |
| 4 | + select ARCH_32BIT_OFF_T | |
| 4 | 5 | select GENERIC_ATOMIC64 |
| 5 | 6 | select HAVE_UID16 |
| 6 | 7 | select VIRT_TO_BUS |
| @@ -2,5 +2,7 @@ · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | #define __ARCH_WANT_RENAMEAT |
| 4 | 4 | #define __ARCH_WANT_STAT64 |
| 5 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 6 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 5 | 7 | |
| 6 | 8 | #include <asm-generic/unistd.h> |
| @@ -4,6 +4,7 @@ comment "Linux Kernel Configuration for Hexagon" · 3 unmodified lines | ||
| 4 | 4 | |
| 5 | 5 | config HEXAGON |
| 6 | 6 | def_bool y |
| 7 | + select ARCH_32BIT_OFF_T | |
| 7 | 8 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 8 | 9 | select ARCH_NO_PREEMPT |
| 9 | 10 | select HAVE_OPROFILE |
| @@ -30,9 +30,11 @@ · 29 unmodified lines | ||
| 30 | 30 | #define sys_mmap2 sys_mmap_pgoff |
| 31 | 31 | #define __ARCH_WANT_RENAMEAT |
| 32 | 32 | #define __ARCH_WANT_STAT64 |
| 33 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 33 | 34 | #define __ARCH_WANT_SYS_EXECVE |
| 34 | 35 | #define __ARCH_WANT_SYS_CLONE |
| 35 | 36 | #define __ARCH_WANT_SYS_VFORK |
| 36 | 37 | #define __ARCH_WANT_SYS_FORK |
| 38 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 37 | 39 | |
| 38 | 40 | #include <asm-generic/unistd.h> |
| @@ -2,6 +2,7 @@ · 1 unmodified line | ||
| 2 | 2 | config M68K |
| 3 | 3 | bool |
| 4 | 4 | default y |
| 5 | + select ARCH_32BIT_OFF_T | |
| 5 | 6 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA |
| 6 | 7 | select ARCH_MIGHT_HAVE_PC_PARPORT if ISA |
| 7 | 8 | select ARCH_NO_COHERENT_DMA_MMAP if !MMU |
| @@ -1,5 +1,6 @@ | ||
| 1 | 1 | config MICROBLAZE |
| 2 | 2 | def_bool y |
| 3 | + select ARCH_32BIT_OFF_T | |
| 3 | 4 | select ARCH_NO_SWAP |
| 4 | 5 | select ARCH_HAS_DMA_COHERENT_TO_PFN if MMU |
| 5 | 6 | select ARCH_HAS_GCOV_PROFILE_ALL |
| @@ -2,6 +2,7 @@ · 1 unmodified line | ||
| 2 | 2 | config MIPS |
| 3 | 3 | bool |
| 4 | 4 | default y |
| 5 | + select ARCH_32BIT_OFF_T if !64BIT | |
| 5 | 6 | select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT |
| 6 | 7 | select ARCH_CLOCKSOURCE_DATA |
| 7 | 8 | select ARCH_DISCARD_MEMBLOCK |
| @@ -5,6 +5,7 @@ · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | config NDS32 |
| 7 | 7 | def_bool y |
| 8 | + select ARCH_32BIT_OFF_T | |
| 8 | 9 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 9 | 10 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 10 | 11 | select ARCH_WANT_FRAME_POINTERS if FTRACE |
| @@ -3,6 +3,8 @@ · 2 unmodified lines | ||
| 3 | 3 | |
| 4 | 4 | #define __ARCH_WANT_STAT64 |
| 5 | 5 | #define __ARCH_WANT_SYNC_FILE_RANGE2 |
| 6 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 7 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 6 | 8 | |
| 7 | 9 | /* Use the standard ABI for syscalls */ |
| 8 | 10 | #include <asm-generic/unistd.h> |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | config NIOS2 |
| 3 | 3 | def_bool y |
| 4 | + select ARCH_32BIT_OFF_T | |
| 4 | 5 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 5 | 6 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 6 | 7 | select ARCH_NO_SWAP |
| @@ -20,6 +20,8 @@ · 19 unmodified lines | ||
| 20 | 20 | |
| 21 | 21 | #define __ARCH_WANT_RENAMEAT |
| 22 | 22 | #define __ARCH_WANT_STAT64 |
| 23 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 24 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 23 | 25 | |
| 24 | 26 | /* Use the standard ABI for syscalls */ |
| 25 | 27 | #include <asm-generic/unistd.h> |
| @@ -6,6 +6,7 @@ · 5 unmodified lines | ||
| 6 | 6 | |
| 7 | 7 | config OPENRISC |
| 8 | 8 | def_bool y |
| 9 | + select ARCH_32BIT_OFF_T | |
| 9 | 10 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 10 | 11 | select OF |
| 11 | 12 | select OF_EARLY_FLATTREE |
| @@ -21,8 +21,10 @@ · 20 unmodified lines | ||
| 21 | 21 | |
| 22 | 22 | #define __ARCH_WANT_RENAMEAT |
| 23 | 23 | #define __ARCH_WANT_STAT64 |
| 24 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 24 | 25 | #define __ARCH_WANT_SYS_FORK |
| 25 | 26 | #define __ARCH_WANT_SYS_CLONE |
| 27 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 26 | 28 | |
| 27 | 29 | #include <asm-generic/unistd.h> |
| 28 | 30 | |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | config PARISC |
| 3 | 3 | def_bool y |
| 4 | + select ARCH_32BIT_OFF_T if !64BIT | |
| 4 | 5 | select ARCH_MIGHT_HAVE_PC_PARPORT |
| 5 | 6 | select HAVE_IDE |
| 6 | 7 | select HAVE_OPROFILE |
| @@ -128,6 +128,7 @@ config PPC · 127 unmodified lines | ||
| 128 | 128 | # |
| 129 | 129 | # Please keep this list sorted alphabetically. |
| 130 | 130 | # |
| 131 | + select ARCH_32BIT_OFF_T if PPC32 | |
| 131 | 132 | select ARCH_HAS_DEBUG_VIRTUAL |
| 132 | 133 | select ARCH_HAS_DEVMEM_IS_ALLOWED |
| 133 | 134 | select ARCH_HAS_DMA_SET_COHERENT_MASK |
| @@ -17,6 +17,7 @@ · 16 unmodified lines | ||
| 17 | 17 | |
| 18 | 18 | #ifdef __LP64__ |
| 19 | 19 | #define __ARCH_WANT_NEW_STAT |
| 20 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 20 | 21 | #endif /* __LP64__ */ |
| 21 | 22 | |
| 22 | 23 | #include <asm-generic/unistd.h> |
| @@ -2,9 +2,11 @@ · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | # Symbols present in the vdso |
| 4 | 4 | vdso-syms = rt_sigreturn |
| 5 | +ifdef CONFIG_64BIT | |
| 5 | 6 | vdso-syms += gettimeofday |
| 6 | 7 | vdso-syms += clock_gettime |
| 7 | 8 | vdso-syms += clock_getres |
| 9 | +endif | |
| 8 | 10 | vdso-syms += getcpu |
| 9 | 11 | vdso-syms += flush_icache |
| 10 | 12 | |
| @@ -62,6 +62,7 @@ config SUPERH · 61 unmodified lines | ||
| 62 | 62 | |
| 63 | 63 | config SUPERH32 |
| 64 | 64 | def_bool "$(ARCH)" = "sh" |
| 65 | + select ARCH_32BIT_OFF_T | |
| 65 | 66 | select HAVE_KPROBES |
| 66 | 67 | select HAVE_KRETPROBES |
| 67 | 68 | select HAVE_IOREMAP_PROT if MMU && !X2TLB |
| @@ -49,6 +49,7 @@ config SPARC · 48 unmodified lines | ||
| 49 | 49 | |
| 50 | 50 | config SPARC32 |
| 51 | 51 | def_bool !64BIT |
| 52 | + select ARCH_32BIT_OFF_T | |
| 52 | 53 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 53 | 54 | select GENERIC_ATOMIC64 |
| 54 | 55 | select CLZ_TAB |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | config UNICORE32 |
| 3 | 3 | def_bool y |
| 4 | + select ARCH_32BIT_OFF_T | |
| 4 | 5 | select ARCH_HAS_DEVMEM_IS_ALLOWED |
| 5 | 6 | select ARCH_MIGHT_HAVE_PC_PARPORT |
| 6 | 7 | select ARCH_MIGHT_HAVE_PC_SERIO |
| @@ -12,8 +12,10 @@ · 11 unmodified lines | ||
| 12 | 12 | */ |
| 13 | 13 | |
| 14 | 14 | #define __ARCH_WANT_RENAMEAT |
| 15 | +#define __ARCH_WANT_SET_GET_RLIMIT | |
| 16 | +#define __ARCH_WANT_STAT64 | |
| 17 | +#define __ARCH_WANT_TIME32_SYSCALLS | |
| 15 | 18 | |
| 16 | 19 | /* Use the standard ABI for syscalls. */ |
| 17 | 20 | #include <asm-generic/unistd.h> |
| 18 | −#define __ARCH_WANT_STAT64 | |
| 19 | 21 | #define __ARCH_WANT_SYS_CLONE |
| @@ -47,6 +47,7 @@ config X86 · 46 unmodified lines | ||
| 47 | 47 | select ACPI_LEGACY_TABLES_LOOKUP if ACPI |
| 48 | 48 | select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI |
| 49 | 49 | select ANON_INODES |
| 50 | + select ARCH_32BIT_OFF_T if X86_32 | |
| 50 | 51 | select ARCH_CLOCKSOURCE_DATA |
| 51 | 52 | select ARCH_CLOCKSOURCE_INIT |
| 52 | 53 | select ARCH_DISCARD_MEMBLOCK |
| @@ -17,6 +17,7 @@ config 64BIT · 16 unmodified lines | ||
| 17 | 17 | config X86_32 |
| 18 | 18 | def_bool !64BIT |
| 19 | 19 | select HAVE_AOUT |
| 20 | + select ARCH_32BIT_OFF_T | |
| 20 | 21 | select ARCH_WANT_IPC_PARSE_VERSION |
| 21 | 22 | select MODULES_USE_ELF_REL |
| 22 | 23 | select CLONE_BACKWARDS |
| @@ -1,6 +1,7 @@ | ||
| 1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | 2 | config XTENSA |
| 3 | 3 | def_bool y |
| 4 | + select ARCH_32BIT_OFF_T | |
| 4 | 5 | select ARCH_HAS_SYNC_DMA_FOR_CPU |
| 5 | 6 | select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| 6 | 7 | select ARCH_NO_COHERENT_DMA_MMAP if !MMU |
| @@ -12,7 +12,7 @@ · 11 unmodified lines | ||
| 12 | 12 | O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE) |
| 13 | 13 | |
| 14 | 14 | #ifndef force_o_largefile |
| 15 | −#define force_o_largefile() (BITS_PER_LONG != 32) | |
| 15 | +#define force_o_largefile() (!IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T)) | |
| 16 | 16 | #endif |
| 17 | 17 | |
| 18 | 18 | #if BITS_PER_LONG == 32 |
| @@ -38,8 +38,10 @@ __SYSCALL(__NR_io_destroy, sys_io_destroy) · 37 unmodified lines | ||
| 38 | 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) |
| 39 | 39 | #define __NR_io_cancel 3 |
| 40 | 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) |
| 41 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 41 | 42 | #define __NR_io_getevents 4 |
| 42 | 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) |
| 44 | +#endif | |
| 43 | 45 | |
| 44 | 46 | /* fs/xattr.c */ |
| 45 | 47 | #define __NR_setxattr 5 |
| @@ -179,7 +181,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat) · 133 unmodified lines | ||
| 179 | 181 | #define __NR_fchown 55 |
| 180 | 182 | __SYSCALL(__NR_fchown, sys_fchown) |
| 181 | 183 | #define __NR_openat 56 |
| 182 | −__SC_COMP(__NR_openat, sys_openat, compat_sys_openat) | |
| 184 | +__SYSCALL(__NR_openat, sys_openat) | |
| 183 | 185 | #define __NR_close 57 |
| 184 | 186 | __SYSCALL(__NR_close, sys_close) |
| 185 | 187 | #define __NR_vhangup 58 |
| @@ -222,10 +224,12 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev) · 36 unmodified lines | ||
| 222 | 224 | __SYSCALL(__NR3264_sendfile, sys_sendfile64) |
| 223 | 225 | |
| 224 | 226 | /* fs/select.c */ |
| 227 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 225 | 228 | #define __NR_pselect6 72 |
| 226 | 229 | __SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32) |
| 227 | 230 | #define __NR_ppoll 73 |
| 228 | 231 | __SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32) |
| 232 | +#endif | |
| 229 | 233 | |
| 230 | 234 | /* fs/signalfd.c */ |
| 231 | 235 | #define __NR_signalfd4 74 |
| @@ -269,16 +273,20 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \ · 37 unmodified lines | ||
| 269 | 273 | /* fs/timerfd.c */ |
| 270 | 274 | #define __NR_timerfd_create 85 |
| 271 | 275 | __SYSCALL(__NR_timerfd_create, sys_timerfd_create) |
| 276 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 272 | 277 | #define __NR_timerfd_settime 86 |
| 273 | 278 | __SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \ |
| 274 | 279 | sys_timerfd_settime) |
| 275 | 280 | #define __NR_timerfd_gettime 87 |
| 276 | 281 | __SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \ |
| 277 | 282 | sys_timerfd_gettime) |
| 283 | +#endif | |
| 278 | 284 | |
| 279 | 285 | /* fs/utimes.c */ |
| 286 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 280 | 287 | #define __NR_utimensat 88 |
| 281 | 288 | __SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat) |
| 289 | +#endif | |
| 282 | 290 | |
| 283 | 291 | /* kernel/acct.c */ |
| 284 | 292 | #define __NR_acct 89 |
| @@ -309,8 +317,10 @@ __SYSCALL(__NR_set_tid_address, sys_set_tid_address) · 24 unmodified lines | ||
| 309 | 317 | __SYSCALL(__NR_unshare, sys_unshare) |
| 310 | 318 | |
| 311 | 319 | /* kernel/futex.c */ |
| 320 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 312 | 321 | #define __NR_futex 98 |
| 313 | 322 | __SC_3264(__NR_futex, sys_futex_time32, sys_futex) |
| 323 | +#endif | |
| 314 | 324 | #define __NR_set_robust_list 99 |
| 315 | 325 | __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \ |
| 316 | 326 | compat_sys_set_robust_list) |
| @@ -319,8 +329,10 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \ · 2 unmodified lines | ||
| 319 | 329 | compat_sys_get_robust_list) |
| 320 | 330 | |
| 321 | 331 | /* kernel/hrtimer.c */ |
| 332 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 322 | 333 | #define __NR_nanosleep 101 |
| 323 | 334 | __SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep) |
| 335 | +#endif | |
| 324 | 336 | |
| 325 | 337 | /* kernel/itimer.c */ |
| 326 | 338 | #define __NR_getitimer 102 |
| @@ -341,14 +353,19 @@ __SYSCALL(__NR_delete_module, sys_delete_module) · 14 unmodified lines | ||
| 341 | 353 | /* kernel/posix-timers.c */ |
| 342 | 354 | #define __NR_timer_create 107 |
| 343 | 355 | __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create) |
| 356 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 344 | 357 | #define __NR_timer_gettime 108 |
| 345 | 358 | __SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime) |
| 359 | +#endif | |
| 346 | 360 | #define __NR_timer_getoverrun 109 |
| 347 | 361 | __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun) |
| 362 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 348 | 363 | #define __NR_timer_settime 110 |
| 349 | 364 | __SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime) |
| 365 | +#endif | |
| 350 | 366 | #define __NR_timer_delete 111 |
| 351 | 367 | __SYSCALL(__NR_timer_delete, sys_timer_delete) |
| 368 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 352 | 369 | #define __NR_clock_settime 112 |
| 353 | 370 | __SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime) |
| 354 | 371 | #define __NR_clock_gettime 113 |
| @@ -358,6 +375,7 @@ __SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres) · 3 unmodified lines | ||
| 358 | 375 | #define __NR_clock_nanosleep 115 |
| 359 | 376 | __SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \ |
| 360 | 377 | sys_clock_nanosleep) |
| 378 | +#endif | |
| 361 | 379 | |
| 362 | 380 | /* kernel/printk.c */ |
| 363 | 381 | #define __NR_syslog 116 |
| @@ -388,9 +406,11 @@ __SYSCALL(__NR_sched_yield, sys_sched_yield) · 24 unmodified lines | ||
| 388 | 406 | __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max) |
| 389 | 407 | #define __NR_sched_get_priority_min 126 |
| 390 | 408 | __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min) |
| 409 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 391 | 410 | #define __NR_sched_rr_get_interval 127 |
| 392 | 411 | __SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \ |
| 393 | 412 | sys_sched_rr_get_interval) |
| 413 | +#endif | |
| 394 | 414 | |
| 395 | 415 | /* kernel/signal.c */ |
| 396 | 416 | #define __NR_restart_syscall 128 |
| @@ -411,9 +431,11 @@ __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction) · 14 unmodified lines | ||
| 411 | 431 | __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask) |
| 412 | 432 | #define __NR_rt_sigpending 136 |
| 413 | 433 | __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending) |
| 434 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 414 | 435 | #define __NR_rt_sigtimedwait 137 |
| 415 | 436 | __SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \ |
| 416 | 437 | sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32) |
| 438 | +#endif | |
| 417 | 439 | #define __NR_rt_sigqueueinfo 138 |
| 418 | 440 | __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \ |
| 419 | 441 | compat_sys_rt_sigqueueinfo) |
| @@ -467,10 +489,15 @@ __SYSCALL(__NR_uname, sys_newuname) · 47 unmodified lines | ||
| 467 | 489 | __SYSCALL(__NR_sethostname, sys_sethostname) |
| 468 | 490 | #define __NR_setdomainname 162 |
| 469 | 491 | __SYSCALL(__NR_setdomainname, sys_setdomainname) |
| 492 | + | |
| 493 | +#ifdef __ARCH_WANT_SET_GET_RLIMIT | |
| 494 | +/* getrlimit and setrlimit are superseded with prlimit64 */ | |
| 470 | 495 | #define __NR_getrlimit 163 |
| 471 | 496 | __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit) |
| 472 | 497 | #define __NR_setrlimit 164 |
| 473 | 498 | __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit) |
| 499 | +#endif | |
| 500 | + | |
| 474 | 501 | #define __NR_getrusage 165 |
| 475 | 502 | __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage) |
| 476 | 503 | #define __NR_umask 166 |
| @@ -481,12 +508,14 @@ __SYSCALL(__NR_prctl, sys_prctl) · 4 unmodified lines | ||
| 481 | 508 | __SYSCALL(__NR_getcpu, sys_getcpu) |
| 482 | 509 | |
| 483 | 510 | /* kernel/time.c */ |
| 511 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 484 | 512 | #define __NR_gettimeofday 169 |
| 485 | 513 | __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday) |
| 486 | 514 | #define __NR_settimeofday 170 |
| 487 | 515 | __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday) |
| 488 | 516 | #define __NR_adjtimex 171 |
| 489 | 517 | __SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex) |
| 518 | +#endif | |
| 490 | 519 | |
| 491 | 520 | /* kernel/timer.c */ |
| 492 | 521 | #define __NR_getpid 172 |
| @@ -511,11 +540,13 @@ __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo) · 18 unmodified lines | ||
| 511 | 540 | __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open) |
| 512 | 541 | #define __NR_mq_unlink 181 |
| 513 | 542 | __SYSCALL(__NR_mq_unlink, sys_mq_unlink) |
| 543 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 514 | 544 | #define __NR_mq_timedsend 182 |
| 515 | 545 | __SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend) |
| 516 | 546 | #define __NR_mq_timedreceive 183 |
| 517 | 547 | __SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \ |
| 518 | 548 | sys_mq_timedreceive) |
| 549 | +#endif | |
| 519 | 550 | #define __NR_mq_notify 184 |
| 520 | 551 | __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify) |
| 521 | 552 | #define __NR_mq_getsetattr 185 |
| @@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd) · 14 unmodified lines | ||
| 536 | 567 | __SYSCALL(__NR_semget, sys_semget) |
| 537 | 568 | #define __NR_semctl 191 |
| 538 | 569 | __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) |
| 570 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 539 | 571 | #define __NR_semtimedop 192 |
| 540 | 572 | __SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32) |
| 573 | +#endif | |
| 541 | 574 | #define __NR_semop 193 |
| 542 | 575 | __SYSCALL(__NR_semop, sys_semop) |
| 543 | 576 | |
| @@ -658,8 +691,10 @@ __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \ · 114 unmodified lines | ||
| 658 | 691 | __SYSCALL(__NR_perf_event_open, sys_perf_event_open) |
| 659 | 692 | #define __NR_accept4 242 |
| 660 | 693 | __SYSCALL(__NR_accept4, sys_accept4) |
| 694 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 661 | 695 | #define __NR_recvmmsg 243 |
| 662 | 696 | __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32) |
| 697 | +#endif | |
| 663 | 698 | |
| 664 | 699 | /* |
| 665 | 700 | * Architectures may provide up to 16 syscalls of their own |
| @@ -667,8 +702,10 @@ __SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recv · 1 unmodified line | ||
| 667 | 702 | */ |
| 668 | 703 | #define __NR_arch_specific_syscall 244 |
| 669 | 704 | |
| 705 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 670 | 706 | #define __NR_wait4 260 |
| 671 | 707 | __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4) |
| 708 | +#endif | |
| 672 | 709 | #define __NR_prlimit64 261 |
| 673 | 710 | __SYSCALL(__NR_prlimit64, sys_prlimit64) |
| 674 | 711 | #define __NR_fanotify_init 262 |
| @@ -678,10 +715,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark) · 3 unmodified lines | ||
| 678 | 715 | #define __NR_name_to_handle_at 264 |
| 679 | 716 | __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at) |
| 680 | 717 | #define __NR_open_by_handle_at 265 |
| 681 | −__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \ | |
| 682 | − compat_sys_open_by_handle_at) | |
| 718 | +__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at) | |
| 719 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 683 | 720 | #define __NR_clock_adjtime 266 |
| 684 | 721 | __SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime) |
| 722 | +#endif | |
| 685 | 723 | #define __NR_syncfs 267 |
| 686 | 724 | __SYSCALL(__NR_syncfs, sys_syncfs) |
| 687 | 725 | #define __NR_setns 268 |
| @@ -734,8 +772,10 @@ __SYSCALL(__NR_pkey_alloc, sys_pkey_alloc) · 46 unmodified lines | ||
| 734 | 772 | __SYSCALL(__NR_pkey_free, sys_pkey_free) |
| 735 | 773 | #define __NR_statx 291 |
| 736 | 774 | __SYSCALL(__NR_statx, sys_statx) |
| 775 | +#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 | |
| 737 | 776 | #define __NR_io_pgetevents 292 |
| 738 | 777 | __SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents) |
| 778 | +#endif | |
| 739 | 779 | #define __NR_rseq 293 |
| 740 | 780 | __SYSCALL(__NR_rseq, sys_rseq) |
| 741 | 781 | #define __NR_kexec_file_load 294 |
| @@ -30,12 +30,14 @@ cat << EOF · 29 unmodified lines | ||
| 30 | 30 | #define __IGNORE_readlink /* readlinkat */ |
| 31 | 31 | #define __IGNORE_symlink /* symlinkat */ |
| 32 | 32 | #define __IGNORE_utimes /* futimesat */ |
| 33 | −#if BITS_PER_LONG == 64 | |
| 34 | 33 | #define __IGNORE_stat /* fstatat */ |
| 35 | 34 | #define __IGNORE_lstat /* fstatat */ |
| 36 | −#else | |
| 37 | 35 | #define __IGNORE_stat64 /* fstatat64 */ |
| 38 | 36 | #define __IGNORE_lstat64 /* fstatat64 */ |
| 37 | + | |
| 38 | +#ifndef __ARCH_WANT_SET_GET_RLIMIT | |
| 39 | +#define __IGNORE_getrlimit /* getrlimit */ | |
| 40 | +#define __IGNORE_setrlimit /* setrlimit */ | |
| 39 | 41 | #endif |
| 40 | 42 | |
| 41 | 43 | /* Missing flags argument */ |
| @@ -133,11 +135,18 @@ cat << EOF · 91 unmodified lines | ||
| 133 | 135 | #define __IGNORE_io_pgetevents |
| 134 | 136 | #define __IGNORE_recvmmsg |
| 135 | 137 | #define __IGNORE_mq_timedsend |
| 136 | −#define __IGNORE_mq_timedreceiv | |
| 138 | +#define __IGNORE_mq_timedreceive | |
| 137 | 139 | #define __IGNORE_semtimedop |
| 138 | 140 | #define __IGNORE_rt_sigtimedwait |
| 139 | 141 | #define __IGNORE_futex |
| 140 | 142 | #define __IGNORE_sched_rr_get_interval |
| 143 | +#define __IGNORE_gettimeofday | |
| 144 | +#define __IGNORE_settimeofday | |
| 145 | +#define __IGNORE_wait4 | |
| 146 | +#define __IGNORE_adjtimex | |
| 147 | +#define __IGNORE_nanosleep | |
| 148 | +#define __IGNORE_io_getevents | |
| 149 | +#define __IGNORE_recvmmsg | |
| 141 | 150 | #endif |
| 142 | 151 | |
| 143 | 152 | /* i386-specific or historical system calls */ |