This part adds support for sys_indirect on x86 and x86-64.
b/arch/x86/ia32/ia32entry.S | 1 +
b/arch/x86/kernel/syscall_table_32.S | 1 +
b/include/asm-x86/indirect.h | 5 +++++
b/include/asm-x86/indirect_32.h | 27 +++++++++++++++++++++++++++
b/include/asm-x86/indirect_64.h | 30 ++++++++++++++++++++++++++++++
b/include/asm-x86/unistd_32.h | 3 ++-
b/include/asm-x86/unistd_64.h | 2 ++
7 files changed, 68 insertions(+), 1 deletion(-)
--- a/arch/x86/ia32/ia32entry.S
+++ b/arch/x86/ia32/ia32entry.S
@@ -726,4 +726,5 @@ ia32_sys_call_table:
.quad compat_sys_timerfd
.quad sys_eventfd
.quad sys32_fallocate
+ .quad sys_indirect /* 325 */
ia32_syscall_end:
diff --git a/arch/x86/kernel/syscall_table_32.S b/arch/x86/kernel/syscall_table_32.S
index 8344c70..92095b2 100644
--- a/arch/x86/kernel/syscall_table_32.S
+++ b/arch/x86/kernel/syscall_table_32.S
@@ -324,3 +324,4 @@ ENTRY(sys_call_table)
.long sys_timerfd
.long sys_eventfd
.long sys_fallocate
+ .long sys_indirect /* 325 */
diff --git a/include/asm-x86/unistd_32.h b/include/asm-x86/unistd_32.h
index 9b15545..8ee0b20 100644
--- a/include/asm-x86/unistd_32.h
+++ b/include/asm-x86/unistd_32.h
@@ -330,10 +330,11 @@
#define __NR_timerfd 322
#define __NR_eventfd 323
#define __NR_fallocate 324
+#define __NR_indirect 325
#ifdef __KERNEL__
-#define NR_syscalls 325
+#define NR_syscalls 326
#define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_OLD_READDIR
diff --git a/include/asm-x86/unistd_64.h b/include/asm-x86/unistd_64.h
index 5ff4d3e..66eab33 100644
--- a/include/asm-x86/unistd_64.h
+++ b/include/asm-x86/unistd_64.h
@@ -635,6 +635,8 @@ __SYSCALL(__NR_timerfd, sys_timerfd)
__SYSCALL(__NR_eventfd, sys_eventfd)
#define __NR_fallocate 285
__SYSCALL(__NR_fallocate, sys_fallocate)
+#define __NR_indirect 286
+__SYSCALL(__NR_indirect, sys_indirect)
#ifndef __NO_STUBS
#define __ARCH_WANT_OLD_READDIR
diff --git a/i...