diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-16 21:19:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-16 21:19:19 -0500 |
commit | 5674124f9f16f196533abb383193bd232c9afc2f (patch) | |
tree | 275af51d6f7749dc72e1530fcace7c770cdbdd46 /arch/x86/kernel | |
parent | 5d48421be3c8a9f753d61b826ecb3ad287d867c0 (diff) | |
parent | 72142fd4109105c6bd21658966ca5e93c1684081 (diff) |
Merge branch 'x86-syscall-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'x86-syscall-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86: Move <asm/asm-offsets.h> from trace_syscalls.c to asm/syscall.h
x86, um: Fix typo in 32-bit system call modifications
um: Use $(srctree) not $(KBUILD_SRC)
x86, um: Mark system call tables readonly
x86, um: Use the same style generated syscall tables as native
um: Generate headers before generating user-offsets.s
um: Run host archheaders, allow use of host generated headers
kbuild, headers.sh: Don't make archheaders explicitly
x86, syscall: Allow syscall offset to be symbolic
x86, syscall: Re-fix typo in comment
x86: Simplify syscallhdr.sh
x86: Generate system call tables and unistd_*.h from tables
checksyscalls: Use arch/x86/syscalls/syscall_32.tbl as source
x86: Machine-readable syscall tables and scripts to process them
trace: Include <asm/asm-offsets.h> in trace_syscalls.c
x86-64, ia32: Move compat_ni_syscall into C and its own file
x86-64, syscall: Adjust comment spacing and remove typo
kbuild: Add support for an "archheaders" target
kbuild: Add support for installing generated asm headers
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/Makefile | 3 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_32.c | 8 | ||||
-rw-r--r-- | arch/x86/kernel/asm-offsets_64.c | 19 | ||||
-rw-r--r-- | arch/x86/kernel/entry_32.S | 37 | ||||
-rw-r--r-- | arch/x86/kernel/syscall_32.c | 25 | ||||
-rw-r--r-- | arch/x86/kernel/syscall_64.c | 20 | ||||
-rw-r--r-- | arch/x86/kernel/syscall_table_32.S | 350 |
7 files changed, 69 insertions, 393 deletions
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 02b2f05b371e..5369059c07a9 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -25,7 +25,8 @@ obj-$(CONFIG_IRQ_WORK) += irq_work.o | |||
25 | obj-y += probe_roms.o | 25 | obj-y += probe_roms.o |
26 | obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o | 26 | obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o |
27 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o | 27 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o |
28 | obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o | 28 | obj-y += syscall_$(BITS).o |
29 | obj-$(CONFIG_X86_64) += vsyscall_64.o | ||
29 | obj-$(CONFIG_X86_64) += vsyscall_emu_64.o | 30 | obj-$(CONFIG_X86_64) += vsyscall_emu_64.o |
30 | obj-y += bootflag.o e820.o | 31 | obj-y += bootflag.o e820.o |
31 | obj-y += pci-dma.o quirks.o topology.o kdebugfs.o | 32 | obj-y += pci-dma.o quirks.o topology.o kdebugfs.o |
diff --git a/arch/x86/kernel/asm-offsets_32.c b/arch/x86/kernel/asm-offsets_32.c index 395a10e68067..85d98ab15cdc 100644 --- a/arch/x86/kernel/asm-offsets_32.c +++ b/arch/x86/kernel/asm-offsets_32.c | |||
@@ -3,6 +3,11 @@ | |||
3 | #include <linux/lguest.h> | 3 | #include <linux/lguest.h> |
4 | #include "../../../drivers/lguest/lg.h" | 4 | #include "../../../drivers/lguest/lg.h" |
5 | 5 | ||
6 | #define __SYSCALL_I386(nr, sym, compat) [nr] = 1, | ||
7 | static char syscalls[] = { | ||
8 | #include <asm/syscalls_32.h> | ||
9 | }; | ||
10 | |||
6 | /* workaround for a warning with -Wmissing-prototypes */ | 11 | /* workaround for a warning with -Wmissing-prototypes */ |
7 | void foo(void); | 12 | void foo(void); |
8 | 13 | ||
@@ -76,4 +81,7 @@ void foo(void) | |||
76 | OFFSET(LGUEST_PAGES_regs_errcode, lguest_pages, regs.errcode); | 81 | OFFSET(LGUEST_PAGES_regs_errcode, lguest_pages, regs.errcode); |
77 | OFFSET(LGUEST_PAGES_regs, lguest_pages, regs); | 82 | OFFSET(LGUEST_PAGES_regs, lguest_pages, regs); |
78 | #endif | 83 | #endif |
84 | BLANK(); | ||
85 | DEFINE(__NR_syscall_max, sizeof(syscalls) - 1); | ||
86 | DEFINE(NR_syscalls, sizeof(syscalls)); | ||
79 | } | 87 | } |
diff --git a/arch/x86/kernel/asm-offsets_64.c b/arch/x86/kernel/asm-offsets_64.c index e72a1194af22..834e897b1e25 100644 --- a/arch/x86/kernel/asm-offsets_64.c +++ b/arch/x86/kernel/asm-offsets_64.c | |||
@@ -1,11 +1,12 @@ | |||
1 | #include <asm/ia32.h> | 1 | #include <asm/ia32.h> |
2 | 2 | ||
3 | #define __NO_STUBS 1 | 3 | #define __SYSCALL_64(nr, sym, compat) [nr] = 1, |
4 | #undef __SYSCALL | 4 | static char syscalls_64[] = { |
5 | #undef _ASM_X86_UNISTD_64_H | 5 | #include <asm/syscalls_64.h> |
6 | #define __SYSCALL(nr, sym) [nr] = 1, | 6 | }; |
7 | static char syscalls[] = { | 7 | #define __SYSCALL_I386(nr, sym, compat) [nr] = 1, |
8 | #include <asm/unistd.h> | 8 | static char syscalls_ia32[] = { |
9 | #include <asm/syscalls_32.h> | ||
9 | }; | 10 | }; |
10 | 11 | ||
11 | int main(void) | 12 | int main(void) |
@@ -72,7 +73,11 @@ int main(void) | |||
72 | OFFSET(TSS_ist, tss_struct, x86_tss.ist); | 73 | OFFSET(TSS_ist, tss_struct, x86_tss.ist); |
73 | BLANK(); | 74 | BLANK(); |
74 | 75 | ||
75 | DEFINE(__NR_syscall_max, sizeof(syscalls) - 1); | 76 | DEFINE(__NR_syscall_max, sizeof(syscalls_64) - 1); |
77 | DEFINE(NR_syscalls, sizeof(syscalls_64)); | ||
78 | |||
79 | DEFINE(__NR_ia32_syscall_max, sizeof(syscalls_ia32) - 1); | ||
80 | DEFINE(IA32_NR_syscalls, sizeof(syscalls_ia32)); | ||
76 | 81 | ||
77 | return 0; | 82 | return 0; |
78 | } | 83 | } |
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index 22d0e21b4dd7..4af9fd2450a5 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S | |||
@@ -81,8 +81,6 @@ | |||
81 | * enough to patch inline, increasing performance. | 81 | * enough to patch inline, increasing performance. |
82 | */ | 82 | */ |
83 | 83 | ||
84 | #define nr_syscalls ((syscall_table_size)/4) | ||
85 | |||
86 | #ifdef CONFIG_PREEMPT | 84 | #ifdef CONFIG_PREEMPT |
87 | #define preempt_stop(clobbers) DISABLE_INTERRUPTS(clobbers); TRACE_IRQS_OFF | 85 | #define preempt_stop(clobbers) DISABLE_INTERRUPTS(clobbers); TRACE_IRQS_OFF |
88 | #else | 86 | #else |
@@ -423,7 +421,7 @@ sysenter_past_esp: | |||
423 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) | 421 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) |
424 | jnz sysenter_audit | 422 | jnz sysenter_audit |
425 | sysenter_do_call: | 423 | sysenter_do_call: |
426 | cmpl $(nr_syscalls), %eax | 424 | cmpl $(NR_syscalls), %eax |
427 | jae syscall_badsys | 425 | jae syscall_badsys |
428 | call *sys_call_table(,%eax,4) | 426 | call *sys_call_table(,%eax,4) |
429 | movl %eax,PT_EAX(%esp) | 427 | movl %eax,PT_EAX(%esp) |
@@ -504,7 +502,7 @@ ENTRY(system_call) | |||
504 | # system call tracing in operation / emulation | 502 | # system call tracing in operation / emulation |
505 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) | 503 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp) |
506 | jnz syscall_trace_entry | 504 | jnz syscall_trace_entry |
507 | cmpl $(nr_syscalls), %eax | 505 | cmpl $(NR_syscalls), %eax |
508 | jae syscall_badsys | 506 | jae syscall_badsys |
509 | syscall_call: | 507 | syscall_call: |
510 | call *sys_call_table(,%eax,4) | 508 | call *sys_call_table(,%eax,4) |
@@ -654,7 +652,7 @@ syscall_trace_entry: | |||
654 | movl %esp, %eax | 652 | movl %esp, %eax |
655 | call syscall_trace_enter | 653 | call syscall_trace_enter |
656 | /* What it returned is what we'll actually use. */ | 654 | /* What it returned is what we'll actually use. */ |
657 | cmpl $(nr_syscalls), %eax | 655 | cmpl $(NR_syscalls), %eax |
658 | jnae syscall_call | 656 | jnae syscall_call |
659 | jmp syscall_exit | 657 | jmp syscall_exit |
660 | END(syscall_trace_entry) | 658 | END(syscall_trace_entry) |
@@ -694,29 +692,28 @@ END(syscall_badsys) | |||
694 | * System calls that need a pt_regs pointer. | 692 | * System calls that need a pt_regs pointer. |
695 | */ | 693 | */ |
696 | #define PTREGSCALL0(name) \ | 694 | #define PTREGSCALL0(name) \ |
697 | ALIGN; \ | 695 | ENTRY(ptregs_##name) ; \ |
698 | ptregs_##name: \ | ||
699 | leal 4(%esp),%eax; \ | 696 | leal 4(%esp),%eax; \ |
700 | jmp sys_##name; | 697 | jmp sys_##name; \ |
698 | ENDPROC(ptregs_##name) | ||
701 | 699 | ||
702 | #define PTREGSCALL1(name) \ | 700 | #define PTREGSCALL1(name) \ |
703 | ALIGN; \ | 701 | ENTRY(ptregs_##name) ; \ |
704 | ptregs_##name: \ | ||
705 | leal 4(%esp),%edx; \ | 702 | leal 4(%esp),%edx; \ |
706 | movl (PT_EBX+4)(%esp),%eax; \ | 703 | movl (PT_EBX+4)(%esp),%eax; \ |
707 | jmp sys_##name; | 704 | jmp sys_##name; \ |
705 | ENDPROC(ptregs_##name) | ||
708 | 706 | ||
709 | #define PTREGSCALL2(name) \ | 707 | #define PTREGSCALL2(name) \ |
710 | ALIGN; \ | 708 | ENTRY(ptregs_##name) ; \ |
711 | ptregs_##name: \ | ||
712 | leal 4(%esp),%ecx; \ | 709 | leal 4(%esp),%ecx; \ |
713 | movl (PT_ECX+4)(%esp),%edx; \ | 710 | movl (PT_ECX+4)(%esp),%edx; \ |
714 | movl (PT_EBX+4)(%esp),%eax; \ | 711 | movl (PT_EBX+4)(%esp),%eax; \ |
715 | jmp sys_##name; | 712 | jmp sys_##name; \ |
713 | ENDPROC(ptregs_##name) | ||
716 | 714 | ||
717 | #define PTREGSCALL3(name) \ | 715 | #define PTREGSCALL3(name) \ |
718 | ALIGN; \ | 716 | ENTRY(ptregs_##name) ; \ |
719 | ptregs_##name: \ | ||
720 | CFI_STARTPROC; \ | 717 | CFI_STARTPROC; \ |
721 | leal 4(%esp),%eax; \ | 718 | leal 4(%esp),%eax; \ |
722 | pushl_cfi %eax; \ | 719 | pushl_cfi %eax; \ |
@@ -741,8 +738,7 @@ PTREGSCALL2(vm86) | |||
741 | PTREGSCALL1(vm86old) | 738 | PTREGSCALL1(vm86old) |
742 | 739 | ||
743 | /* Clone is an oddball. The 4th arg is in %edi */ | 740 | /* Clone is an oddball. The 4th arg is in %edi */ |
744 | ALIGN; | 741 | ENTRY(ptregs_clone) |
745 | ptregs_clone: | ||
746 | CFI_STARTPROC | 742 | CFI_STARTPROC |
747 | leal 4(%esp),%eax | 743 | leal 4(%esp),%eax |
748 | pushl_cfi %eax | 744 | pushl_cfi %eax |
@@ -1213,11 +1209,6 @@ return_to_handler: | |||
1213 | jmp *%ecx | 1209 | jmp *%ecx |
1214 | #endif | 1210 | #endif |
1215 | 1211 | ||
1216 | .section .rodata,"a" | ||
1217 | #include "syscall_table_32.S" | ||
1218 | |||
1219 | syscall_table_size=(.-sys_call_table) | ||
1220 | |||
1221 | /* | 1212 | /* |
1222 | * Some functions should be protected against kprobes | 1213 | * Some functions should be protected against kprobes |
1223 | */ | 1214 | */ |
diff --git a/arch/x86/kernel/syscall_32.c b/arch/x86/kernel/syscall_32.c new file mode 100644 index 000000000000..147fcd4941c4 --- /dev/null +++ b/arch/x86/kernel/syscall_32.c | |||
@@ -0,0 +1,25 @@ | |||
1 | /* System call table for i386. */ | ||
2 | |||
3 | #include <linux/linkage.h> | ||
4 | #include <linux/sys.h> | ||
5 | #include <linux/cache.h> | ||
6 | #include <asm/asm-offsets.h> | ||
7 | |||
8 | #define __SYSCALL_I386(nr, sym, compat) extern asmlinkage void sym(void) ; | ||
9 | #include <asm/syscalls_32.h> | ||
10 | #undef __SYSCALL_I386 | ||
11 | |||
12 | #define __SYSCALL_I386(nr, sym, compat) [nr] = sym, | ||
13 | |||
14 | typedef asmlinkage void (*sys_call_ptr_t)(void); | ||
15 | |||
16 | extern asmlinkage void sys_ni_syscall(void); | ||
17 | |||
18 | const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { | ||
19 | /* | ||
20 | * Smells like a compiler bug -- it doesn't work | ||
21 | * when the & below is removed. | ||
22 | */ | ||
23 | [0 ... __NR_syscall_max] = &sys_ni_syscall, | ||
24 | #include <asm/syscalls_32.h> | ||
25 | }; | ||
diff --git a/arch/x86/kernel/syscall_64.c b/arch/x86/kernel/syscall_64.c index de87d6008295..7ac7943be02c 100644 --- a/arch/x86/kernel/syscall_64.c +++ b/arch/x86/kernel/syscall_64.c | |||
@@ -5,15 +5,11 @@ | |||
5 | #include <linux/cache.h> | 5 | #include <linux/cache.h> |
6 | #include <asm/asm-offsets.h> | 6 | #include <asm/asm-offsets.h> |
7 | 7 | ||
8 | #define __NO_STUBS | 8 | #define __SYSCALL_64(nr, sym, compat) extern asmlinkage void sym(void) ; |
9 | #include <asm/syscalls_64.h> | ||
10 | #undef __SYSCALL_64 | ||
9 | 11 | ||
10 | #define __SYSCALL(nr, sym) extern asmlinkage void sym(void) ; | 12 | #define __SYSCALL_64(nr, sym, compat) [nr] = sym, |
11 | #undef _ASM_X86_UNISTD_64_H | ||
12 | #include <asm/unistd_64.h> | ||
13 | |||
14 | #undef __SYSCALL | ||
15 | #define __SYSCALL(nr, sym) [nr] = sym, | ||
16 | #undef _ASM_X86_UNISTD_64_H | ||
17 | 13 | ||
18 | typedef void (*sys_call_ptr_t)(void); | 14 | typedef void (*sys_call_ptr_t)(void); |
19 | 15 | ||
@@ -21,9 +17,9 @@ extern void sys_ni_syscall(void); | |||
21 | 17 | ||
22 | const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { | 18 | const sys_call_ptr_t sys_call_table[__NR_syscall_max+1] = { |
23 | /* | 19 | /* |
24 | *Smells like a like a compiler bug -- it doesn't work | 20 | * Smells like a compiler bug -- it doesn't work |
25 | *when the & below is removed. | 21 | * when the & below is removed. |
26 | */ | 22 | */ |
27 | [0 ... __NR_syscall_max] = &sys_ni_syscall, | 23 | [0 ... __NR_syscall_max] = &sys_ni_syscall, |
28 | #include <asm/unistd_64.h> | 24 | #include <asm/syscalls_64.h> |
29 | }; | 25 | }; |
diff --git a/arch/x86/kernel/syscall_table_32.S b/arch/x86/kernel/syscall_table_32.S deleted file mode 100644 index 9a0e31293920..000000000000 --- a/arch/x86/kernel/syscall_table_32.S +++ /dev/null | |||
@@ -1,350 +0,0 @@ | |||
1 | ENTRY(sys_call_table) | ||
2 | .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ | ||
3 | .long sys_exit | ||
4 | .long ptregs_fork | ||
5 | .long sys_read | ||
6 | .long sys_write | ||
7 | .long sys_open /* 5 */ | ||
8 | .long sys_close | ||
9 | .long sys_waitpid | ||
10 | .long sys_creat | ||
11 | .long sys_link | ||
12 | .long sys_unlink /* 10 */ | ||
13 | .long ptregs_execve | ||
14 | .long sys_chdir | ||
15 | .long sys_time | ||
16 | .long sys_mknod | ||
17 | .long sys_chmod /* 15 */ | ||
18 | .long sys_lchown16 | ||
19 | .long sys_ni_syscall /* old break syscall holder */ | ||
20 | .long sys_stat | ||
21 | .long sys_lseek | ||
22 | .long sys_getpid /* 20 */ | ||
23 | .long sys_mount | ||
24 | .long sys_oldumount | ||
25 | .long sys_setuid16 | ||
26 | .long sys_getuid16 | ||
27 | .long sys_stime /* 25 */ | ||
28 | .long sys_ptrace | ||
29 | .long sys_alarm | ||
30 | .long sys_fstat | ||
31 | .long sys_pause | ||
32 | .long sys_utime /* 30 */ | ||
33 | .long sys_ni_syscall /* old stty syscall holder */ | ||
34 | .long sys_ni_syscall /* old gtty syscall holder */ | ||
35 | .long sys_access | ||
36 | .long sys_nice | ||
37 | .long sys_ni_syscall /* 35 - old ftime syscall holder */ | ||
38 | .long sys_sync | ||
39 | .long sys_kill | ||
40 | .long sys_rename | ||
41 | .long sys_mkdir | ||
42 | .long sys_rmdir /* 40 */ | ||
43 | .long sys_dup | ||
44 | .long sys_pipe | ||
45 | .long sys_times | ||
46 | .long sys_ni_syscall /* old prof syscall holder */ | ||
47 | .long sys_brk /* 45 */ | ||
48 | .long sys_setgid16 | ||
49 | .long sys_getgid16 | ||
50 | .long sys_signal | ||
51 | .long sys_geteuid16 | ||
52 | .long sys_getegid16 /* 50 */ | ||
53 | .long sys_acct | ||
54 | .long sys_umount /* recycled never used phys() */ | ||
55 | .long sys_ni_syscall /* old lock syscall holder */ | ||
56 | .long sys_ioctl | ||
57 | .long sys_fcntl /* 55 */ | ||
58 | .long sys_ni_syscall /* old mpx syscall holder */ | ||
59 | .long sys_setpgid | ||
60 | .long sys_ni_syscall /* old ulimit syscall holder */ | ||
61 | .long sys_olduname | ||
62 | .long sys_umask /* 60 */ | ||
63 | .long sys_chroot | ||
64 | .long sys_ustat | ||
65 | .long sys_dup2 | ||
66 | .long sys_getppid | ||
67 | .long sys_getpgrp /* 65 */ | ||
68 | .long sys_setsid | ||
69 | .long sys_sigaction | ||
70 | .long sys_sgetmask | ||
71 | .long sys_ssetmask | ||
72 | .long sys_setreuid16 /* 70 */ | ||
73 | .long sys_setregid16 | ||
74 | .long sys_sigsuspend | ||
75 | .long sys_sigpending | ||
76 | .long sys_sethostname | ||
77 | .long sys_setrlimit /* 75 */ | ||
78 | .long sys_old_getrlimit | ||
79 | .long sys_getrusage | ||
80 | .long sys_gettimeofday | ||
81 | .long sys_settimeofday | ||
82 | .long sys_getgroups16 /* 80 */ | ||
83 | .long sys_setgroups16 | ||
84 | .long sys_old_select | ||
85 | .long sys_symlink | ||
86 | .long sys_lstat | ||
87 | .long sys_readlink /* 85 */ | ||
88 | .long sys_uselib | ||
89 | .long sys_swapon | ||
90 | .long sys_reboot | ||
91 | .long sys_old_readdir | ||
92 | .long sys_old_mmap /* 90 */ | ||
93 | .long sys_munmap | ||
94 | .long sys_truncate | ||
95 | .long sys_ftruncate | ||
96 | .long sys_fchmod | ||
97 | .long sys_fchown16 /* 95 */ | ||
98 | .long sys_getpriority | ||
99 | .long sys_setpriority | ||
100 | .long sys_ni_syscall /* old profil syscall holder */ | ||
101 | .long sys_statfs | ||
102 | .long sys_fstatfs /* 100 */ | ||
103 | .long sys_ioperm | ||
104 | .long sys_socketcall | ||
105 | .long sys_syslog | ||
106 | .long sys_setitimer | ||
107 | .long sys_getitimer /* 105 */ | ||
108 | .long sys_newstat | ||
109 | .long sys_newlstat | ||
110 | .long sys_newfstat | ||
111 | .long sys_uname | ||
112 | .long ptregs_iopl /* 110 */ | ||
113 | .long sys_vhangup | ||
114 | .long sys_ni_syscall /* old "idle" system call */ | ||
115 | .long ptregs_vm86old | ||
116 | .long sys_wait4 | ||
117 | .long sys_swapoff /* 115 */ | ||
118 | .long sys_sysinfo | ||
119 | .long sys_ipc | ||
120 | .long sys_fsync | ||
121 | .long ptregs_sigreturn | ||
122 | .long ptregs_clone /* 120 */ | ||
123 | .long sys_setdomainname | ||
124 | .long sys_newuname | ||
125 | .long sys_modify_ldt | ||
126 | .long sys_adjtimex | ||
127 | .long sys_mprotect /* 125 */ | ||
128 | .long sys_sigprocmask | ||
129 | .long sys_ni_syscall /* old "create_module" */ | ||
130 | .long sys_init_module | ||
131 | .long sys_delete_module | ||
132 | .long sys_ni_syscall /* 130: old "get_kernel_syms" */ | ||
133 | .long sys_quotactl | ||
134 | .long sys_getpgid | ||
135 | .long sys_fchdir | ||
136 | .long sys_bdflush | ||
137 | .long sys_sysfs /* 135 */ | ||
138 | .long sys_personality | ||
139 | .long sys_ni_syscall /* reserved for afs_syscall */ | ||
140 | .long sys_setfsuid16 | ||
141 | .long sys_setfsgid16 | ||
142 | .long sys_llseek /* 140 */ | ||
143 | .long sys_getdents | ||
144 | .long sys_select | ||
145 | .long sys_flock | ||
146 | .long sys_msync | ||
147 | .long sys_readv /* 145 */ | ||
148 | .long sys_writev | ||
149 | .long sys_getsid | ||
150 | .long sys_fdatasync | ||
151 | .long sys_sysctl | ||
152 | .long sys_mlock /* 150 */ | ||
153 | .long sys_munlock | ||
154 | .long sys_mlockall | ||
155 | .long sys_munlockall | ||
156 | .long sys_sched_setparam | ||
157 | .long sys_sched_getparam /* 155 */ | ||
158 | .long sys_sched_setscheduler | ||
159 | .long sys_sched_getscheduler | ||
160 | .long sys_sched_yield | ||
161 | .long sys_sched_get_priority_max | ||
162 | .long sys_sched_get_priority_min /* 160 */ | ||
163 | .long sys_sched_rr_get_interval | ||
164 | .long sys_nanosleep | ||
165 | .long sys_mremap | ||
166 | .long sys_setresuid16 | ||
167 | .long sys_getresuid16 /* 165 */ | ||
168 | .long ptregs_vm86 | ||
169 | .long sys_ni_syscall /* Old sys_query_module */ | ||
170 | .long sys_poll | ||
171 | .long sys_ni_syscall /* Old nfsservctl */ | ||
172 | .long sys_setresgid16 /* 170 */ | ||
173 | .long sys_getresgid16 | ||
174 | .long sys_prctl | ||
175 | .long ptregs_rt_sigreturn | ||
176 | .long sys_rt_sigaction | ||
177 | .long sys_rt_sigprocmask /* 175 */ | ||
178 | .long sys_rt_sigpending | ||
179 | .long sys_rt_sigtimedwait | ||
180 | .long sys_rt_sigqueueinfo | ||
181 | .long sys_rt_sigsuspend | ||
182 | .long sys_pread64 /* 180 */ | ||
183 | .long sys_pwrite64 | ||
184 | .long sys_chown16 | ||
185 | .long sys_getcwd | ||
186 | .long sys_capget | ||
187 | .long sys_capset /* 185 */ | ||
188 | .long ptregs_sigaltstack | ||
189 | .long sys_sendfile | ||
190 | .long sys_ni_syscall /* reserved for streams1 */ | ||
191 | .long sys_ni_syscall /* reserved for streams2 */ | ||
192 | .long ptregs_vfork /* 190 */ | ||
193 | .long sys_getrlimit | ||
194 | .long sys_mmap_pgoff | ||
195 | .long sys_truncate64 | ||
196 | .long sys_ftruncate64 | ||
197 | .long sys_stat64 /* 195 */ | ||
198 | .long sys_lstat64 | ||
199 | .long sys_fstat64 | ||
200 | .long sys_lchown | ||
201 | .long sys_getuid | ||
202 | .long sys_getgid /* 200 */ | ||
203 | .long sys_geteuid | ||
204 | .long sys_getegid | ||
205 | .long sys_setreuid | ||
206 | .long sys_setregid | ||
207 | .long sys_getgroups /* 205 */ | ||
208 | .long sys_setgroups | ||
209 | .long sys_fchown | ||
210 | .long sys_setresuid | ||
211 | .long sys_getresuid | ||
212 | .long sys_setresgid /* 210 */ | ||
213 | .long sys_getresgid | ||
214 | .long sys_chown | ||
215 | .long sys_setuid | ||
216 | .long sys_setgid | ||
217 | .long sys_setfsuid /* 215 */ | ||
218 | .long sys_setfsgid | ||
219 | .long sys_pivot_root | ||
220 | .long sys_mincore | ||
221 | .long sys_madvise | ||
222 | .long sys_getdents64 /* 220 */ | ||
223 | .long sys_fcntl64 | ||
224 | .long sys_ni_syscall /* reserved for TUX */ | ||
225 | .long sys_ni_syscall | ||
226 | .long sys_gettid | ||
227 | .long sys_readahead /* 225 */ | ||
228 | .long sys_setxattr | ||
229 | .long sys_lsetxattr | ||
230 | .long sys_fsetxattr | ||
231 | .long sys_getxattr | ||
232 | .long sys_lgetxattr /* 230 */ | ||
233 | .long sys_fgetxattr | ||
234 | .long sys_listxattr | ||
235 | .long sys_llistxattr | ||
236 | .long sys_flistxattr | ||
237 | .long sys_removexattr /* 235 */ | ||
238 | .long sys_lremovexattr | ||
239 | .long sys_fremovexattr | ||
240 | .long sys_tkill | ||
241 | .long sys_sendfile64 | ||
242 | .long sys_futex /* 240 */ | ||
243 | .long sys_sched_setaffinity | ||
244 | .long sys_sched_getaffinity | ||
245 | .long sys_set_thread_area | ||
246 | .long sys_get_thread_area | ||
247 | .long sys_io_setup /* 245 */ | ||
248 | .long sys_io_destroy | ||
249 | .long sys_io_getevents | ||
250 | .long sys_io_submit | ||
251 | .long sys_io_cancel | ||
252 | .long sys_fadvise64 /* 250 */ | ||
253 | .long sys_ni_syscall | ||
254 | .long sys_exit_group | ||
255 | .long sys_lookup_dcookie | ||
256 | .long sys_epoll_create | ||
257 | .long sys_epoll_ctl /* 255 */ | ||
258 | .long sys_epoll_wait | ||
259 | .long sys_remap_file_pages | ||
260 | .long sys_set_tid_address | ||
261 | .long sys_timer_create | ||
262 | .long sys_timer_settime /* 260 */ | ||
263 | .long sys_timer_gettime | ||
264 | .long sys_timer_getoverrun | ||
265 | .long sys_timer_delete | ||
266 | .long sys_clock_settime | ||
267 | .long sys_clock_gettime /* 265 */ | ||
268 | .long sys_clock_getres | ||
269 | .long sys_clock_nanosleep | ||
270 | .long sys_statfs64 | ||
271 | .long sys_fstatfs64 | ||
272 | .long sys_tgkill /* 270 */ | ||
273 | .long sys_utimes | ||
274 | .long sys_fadvise64_64 | ||
275 | .long sys_ni_syscall /* sys_vserver */ | ||
276 | .long sys_mbind | ||
277 | .long sys_get_mempolicy | ||
278 | .long sys_set_mempolicy | ||
279 | .long sys_mq_open | ||
280 | .long sys_mq_unlink | ||
281 | .long sys_mq_timedsend | ||
282 | .long sys_mq_timedreceive /* 280 */ | ||
283 | .long sys_mq_notify | ||
284 | .long sys_mq_getsetattr | ||
285 | .long sys_kexec_load | ||
286 | .long sys_waitid | ||
287 | .long sys_ni_syscall /* 285 */ /* available */ | ||
288 | .long sys_add_key | ||
289 | .long sys_request_key | ||
290 | .long sys_keyctl | ||
291 | .long sys_ioprio_set | ||
292 | .long sys_ioprio_get /* 290 */ | ||
293 | .long sys_inotify_init | ||
294 | .long sys_inotify_add_watch | ||
295 | .long sys_inotify_rm_watch | ||
296 | .long sys_migrate_pages | ||
297 | .long sys_openat /* 295 */ | ||
298 | .long sys_mkdirat | ||
299 | .long sys_mknodat | ||
300 | .long sys_fchownat | ||
301 | .long sys_futimesat | ||
302 | .long sys_fstatat64 /* 300 */ | ||
303 | .long sys_unlinkat | ||
304 | .long sys_renameat | ||
305 | .long sys_linkat | ||
306 | .long sys_symlinkat | ||
307 | .long sys_readlinkat /* 305 */ | ||
308 | .long sys_fchmodat | ||
309 | .long sys_faccessat | ||
310 | .long sys_pselect6 | ||
311 | .long sys_ppoll | ||
312 | .long sys_unshare /* 310 */ | ||
313 | .long sys_set_robust_list | ||
314 | .long sys_get_robust_list | ||
315 | .long sys_splice | ||
316 | .long sys_sync_file_range | ||
317 | .long sys_tee /* 315 */ | ||
318 | .long sys_vmsplice | ||
319 | .long sys_move_pages | ||
320 | .long sys_getcpu | ||
321 | .long sys_epoll_pwait | ||
322 | .long sys_utimensat /* 320 */ | ||
323 | .long sys_signalfd | ||
324 | .long sys_timerfd_create | ||
325 | .long sys_eventfd | ||
326 | .long sys_fallocate | ||
327 | .long sys_timerfd_settime /* 325 */ | ||
328 | .long sys_timerfd_gettime | ||
329 | .long sys_signalfd4 | ||
330 | .long sys_eventfd2 | ||
331 | .long sys_epoll_create1 | ||
332 | .long sys_dup3 /* 330 */ | ||
333 | .long sys_pipe2 | ||
334 | .long sys_inotify_init1 | ||
335 | .long sys_preadv | ||
336 | .long sys_pwritev | ||
337 | .long sys_rt_tgsigqueueinfo /* 335 */ | ||
338 | .long sys_perf_event_open | ||
339 | .long sys_recvmmsg | ||
340 | .long sys_fanotify_init | ||
341 | .long sys_fanotify_mark | ||
342 | .long sys_prlimit64 /* 340 */ | ||
343 | .long sys_name_to_handle_at | ||
344 | .long sys_open_by_handle_at | ||
345 | .long sys_clock_adjtime | ||
346 | .long sys_syncfs | ||
347 | .long sys_sendmmsg /* 345 */ | ||
348 | .long sys_setns | ||
349 | .long sys_process_vm_readv | ||
350 | .long sys_process_vm_writev | ||