From f54c28cba2707c280f8285c247550358c44b5984 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Mon, 9 Feb 2015 22:53:20 +0100 Subject: [PATCH] add syscall numbers for the new execveat syscall this syscall allows fexecve to be implemented without /proc, it is new in linux v3.19, added in commit 51f39a1f0cea1cacf8c787f652f26dfee9611874 (sh and microblaze do not have allocated syscall numbers yet) added a x32 fix as well: the io_setup and io_submit syscalls are no longer common with x86_64, so use the x32 specific numbers. --- arch/arm/bits/syscall.h | 2 ++ arch/i386/bits/syscall.h | 2 ++ arch/mips/bits/syscall.h | 2 ++ arch/or1k/bits/syscall.h | 2 ++ arch/powerpc/bits/syscall.h | 2 ++ arch/x32/bits/syscall.h | 11 +++++++---- arch/x86_64/bits/syscall.h | 2 ++ 7 files changed, 19 insertions(+), 4 deletions(-) diff --git a/arch/arm/bits/syscall.h b/arch/arm/bits/syscall.h index 95b95769..df6cda01 100644 --- a/arch/arm/bits/syscall.h +++ b/arch/arm/bits/syscall.h @@ -340,6 +340,7 @@ #define __NR_getrandom 384 #define __NR_memfd_create 385 #define __NR_bpf 386 +#define __NR_execveat 387 #define __ARM_NR_breakpoint 0x0f0001 #define __ARM_NR_cacheflush 0x0f0002 @@ -691,3 +692,4 @@ #define SYS_getrandom 384 #define SYS_memfd_create 385 #define SYS_bpf 386 +#define SYS_execveat 387 diff --git a/arch/i386/bits/syscall.h b/arch/i386/bits/syscall.h index 2378053b..2902f808 100644 --- a/arch/i386/bits/syscall.h +++ b/arch/i386/bits/syscall.h @@ -356,6 +356,7 @@ #define __NR_getrandom 355 #define __NR_memfd_create 356 #define __NR_bpf 357 +#define __NR_execveat 358 /* Repeated with SYS_ prefix */ @@ -718,3 +719,4 @@ #define SYS_getrandom 355 #define SYS_memfd_create 356 #define SYS_bpf 357 +#define SYS_execveat 358 diff --git a/arch/mips/bits/syscall.h b/arch/mips/bits/syscall.h index 7cb7e353..06761ed4 100644 --- a/arch/mips/bits/syscall.h +++ b/arch/mips/bits/syscall.h @@ -353,6 +353,7 @@ #define __NR_getrandom 4353 #define __NR_memfd_create 4354 #define __NR_bpf 4355 +#define __NR_execveat 4356 /* Repeated with SYS_ prefix */ @@ -711,3 +712,4 @@ #define SYS_getrandom 4353 #define SYS_memfd_create 4354 #define SYS_bpf 4355 +#define SYS_execveat 4356 diff --git a/arch/or1k/bits/syscall.h b/arch/or1k/bits/syscall.h index b854bcaa..967db728 100644 --- a/arch/or1k/bits/syscall.h +++ b/arch/or1k/bits/syscall.h @@ -264,6 +264,7 @@ #define __NR_getrandom 278 #define __NR_memfd_create 279 #define __NR_bpf 280 +#define __NR_execveat 281 #define SYS_io_setup __NR_io_setup #define SYS_io_destroy __NR_io_destroy @@ -531,3 +532,4 @@ #define SYS_getrandom __NR_getrandom #define SYS_memfd_create __NR_memfd_create #define SYS_bpf __NR_bpf +#define SYS_execveat __NR_execveat diff --git a/arch/powerpc/bits/syscall.h b/arch/powerpc/bits/syscall.h index 0512eb3b..acd825ad 100644 --- a/arch/powerpc/bits/syscall.h +++ b/arch/powerpc/bits/syscall.h @@ -375,6 +375,7 @@ #define __NR_getrandom 359 #define __NR_memfd_create 360 #define __NR_bpf 361 +#define __NR_execveat 362 /* * repeated with SYS prefix @@ -756,3 +757,4 @@ #define SYS_getrandom 359 #define SYS_memfd_create 360 #define SYS_bpf 361 +#define SYS_execveat 362 diff --git a/arch/x32/bits/syscall.h b/arch/x32/bits/syscall.h index 67330c27..5a6d4d10 100644 --- a/arch/x32/bits/syscall.h +++ b/arch/x32/bits/syscall.h @@ -182,10 +182,8 @@ #define __NR_futex (__X32_SYSCALL_BIT + 202) #define __NR_sched_setaffinity (__X32_SYSCALL_BIT + 203) #define __NR_sched_getaffinity (__X32_SYSCALL_BIT + 204) -#define __NR_io_setup (__X32_SYSCALL_BIT + 206) #define __NR_io_destroy (__X32_SYSCALL_BIT + 207) #define __NR_io_getevents (__X32_SYSCALL_BIT + 208) -#define __NR_io_submit (__X32_SYSCALL_BIT + 209) #define __NR_io_cancel (__X32_SYSCALL_BIT + 210) #define __NR_lookup_dcookie (__X32_SYSCALL_BIT + 212) #define __NR_epoll_create (__X32_SYSCALL_BIT + 213) @@ -311,6 +309,9 @@ #define __NR_process_vm_writev (__X32_SYSCALL_BIT + 540) #define __NR_setsockopt (__X32_SYSCALL_BIT + 541) #define __NR_getsockopt (__X32_SYSCALL_BIT + 542) +#define __NR_io_setup (__X32_SYSCALL_BIT + 543) +#define __NR_io_submit (__X32_SYSCALL_BIT + 544) +#define __NR_execveat (__X32_SYSCALL_BIT + 545) #undef __NR_fstatat #undef __NR_pread @@ -511,10 +512,8 @@ #define SYS_futex __NR_futex #define SYS_sched_setaffinity __NR_sched_setaffinity #define SYS_sched_getaffinity __NR_sched_getaffinity -#define SYS_io_setup __NR_io_setup #define SYS_io_destroy __NR_io_destroy #define SYS_io_getevents __NR_io_getevents -#define SYS_io_submit __NR_io_submit #define SYS_io_cancel __NR_io_cancel #define SYS_lookup_dcookie __NR_lookup_dcookie #define SYS_epoll_create __NR_epoll_create @@ -609,6 +608,7 @@ #define SYS_kexec_file_load __NR_kexec_file_load #define SYS_bpf __NR_bpf + #define SYS_rt_sigaction __NR_rt_sigaction #define SYS_rt_sigreturn __NR_rt_sigreturn #define SYS_ioctl __NR_ioctl @@ -640,6 +640,9 @@ #define SYS_process_vm_writev __NR_process_vm_writev #define SYS_setsockopt __NR_setsockopt #define SYS_getsockopt __NR_getsockopt +#define SYS_io_setup __NR_io_setup +#define SYS_io_submit __NR_io_submit +#define SYS_execveat __NR_execveat #undef SYS_fstatat #undef SYS_pread diff --git a/arch/x86_64/bits/syscall.h b/arch/x86_64/bits/syscall.h index 4fab41a7..96ec51fa 100644 --- a/arch/x86_64/bits/syscall.h +++ b/arch/x86_64/bits/syscall.h @@ -320,6 +320,7 @@ #define __NR_memfd_create 319 #define __NR_kexec_file_load 320 #define __NR_bpf 321 +#define __NR_execveat 322 @@ -647,3 +648,4 @@ #define SYS_memfd_create 319 #define SYS_kexec_file_load 320 #define SYS_bpf 321 +#define SYS_execveat 322 -- 2.25.1