diff options
Diffstat (limited to 'arch/x86/ia32/ia32entry.S')
-rw-r--r-- | arch/x86/ia32/ia32entry.S | 416 |
1 files changed, 27 insertions, 389 deletions
diff --git a/arch/x86/ia32/ia32entry.S b/arch/x86/ia32/ia32entry.S index a6253ec1b284..e3e734005e19 100644 --- a/arch/x86/ia32/ia32entry.S +++ b/arch/x86/ia32/ia32entry.S | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <asm/segment.h> | 14 | #include <asm/segment.h> |
15 | #include <asm/irqflags.h> | 15 | #include <asm/irqflags.h> |
16 | #include <linux/linkage.h> | 16 | #include <linux/linkage.h> |
17 | #include <linux/err.h> | ||
17 | 18 | ||
18 | /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ | 19 | /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ |
19 | #include <linux/elf-em.h> | 20 | #include <linux/elf-em.h> |
@@ -27,8 +28,6 @@ | |||
27 | 28 | ||
28 | .section .entry.text, "ax" | 29 | .section .entry.text, "ax" |
29 | 30 | ||
30 | #define IA32_NR_syscalls ((ia32_syscall_end - ia32_sys_call_table)/8) | ||
31 | |||
32 | .macro IA32_ARG_FIXUP noebp=0 | 31 | .macro IA32_ARG_FIXUP noebp=0 |
33 | movl %edi,%r8d | 32 | movl %edi,%r8d |
34 | .if \noebp | 33 | .if \noebp |
@@ -134,7 +133,7 @@ ENTRY(ia32_sysenter_target) | |||
134 | CFI_REL_OFFSET rsp,0 | 133 | CFI_REL_OFFSET rsp,0 |
135 | pushfq_cfi | 134 | pushfq_cfi |
136 | /*CFI_REL_OFFSET rflags,0*/ | 135 | /*CFI_REL_OFFSET rflags,0*/ |
137 | movl 8*3-THREAD_SIZE+TI_sysenter_return(%rsp), %r10d | 136 | movl TI_sysenter_return+THREAD_INFO(%rsp,3*8-KERNEL_STACK_OFFSET),%r10d |
138 | CFI_REGISTER rip,r10 | 137 | CFI_REGISTER rip,r10 |
139 | pushq_cfi $__USER32_CS | 138 | pushq_cfi $__USER32_CS |
140 | /*CFI_REL_OFFSET cs,0*/ | 139 | /*CFI_REL_OFFSET cs,0*/ |
@@ -150,9 +149,8 @@ ENTRY(ia32_sysenter_target) | |||
150 | .section __ex_table,"a" | 149 | .section __ex_table,"a" |
151 | .quad 1b,ia32_badarg | 150 | .quad 1b,ia32_badarg |
152 | .previous | 151 | .previous |
153 | GET_THREAD_INFO(%r10) | 152 | orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
154 | orl $TS_COMPAT,TI_status(%r10) | 153 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
155 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) | ||
156 | CFI_REMEMBER_STATE | 154 | CFI_REMEMBER_STATE |
157 | jnz sysenter_tracesys | 155 | jnz sysenter_tracesys |
158 | cmpq $(IA32_NR_syscalls-1),%rax | 156 | cmpq $(IA32_NR_syscalls-1),%rax |
@@ -162,13 +160,12 @@ sysenter_do_call: | |||
162 | sysenter_dispatch: | 160 | sysenter_dispatch: |
163 | call *ia32_sys_call_table(,%rax,8) | 161 | call *ia32_sys_call_table(,%rax,8) |
164 | movq %rax,RAX-ARGOFFSET(%rsp) | 162 | movq %rax,RAX-ARGOFFSET(%rsp) |
165 | GET_THREAD_INFO(%r10) | ||
166 | DISABLE_INTERRUPTS(CLBR_NONE) | 163 | DISABLE_INTERRUPTS(CLBR_NONE) |
167 | TRACE_IRQS_OFF | 164 | TRACE_IRQS_OFF |
168 | testl $_TIF_ALLWORK_MASK,TI_flags(%r10) | 165 | testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
169 | jnz sysexit_audit | 166 | jnz sysexit_audit |
170 | sysexit_from_sys_call: | 167 | sysexit_from_sys_call: |
171 | andl $~TS_COMPAT,TI_status(%r10) | 168 | andl $~TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
172 | /* clear IF, that popfq doesn't enable interrupts early */ | 169 | /* clear IF, that popfq doesn't enable interrupts early */ |
173 | andl $~0x200,EFLAGS-R11(%rsp) | 170 | andl $~0x200,EFLAGS-R11(%rsp) |
174 | movl RIP-R11(%rsp),%edx /* User %eip */ | 171 | movl RIP-R11(%rsp),%edx /* User %eip */ |
@@ -193,7 +190,7 @@ sysexit_from_sys_call: | |||
193 | movl %ebx,%edx /* 3rd arg: 1st syscall arg */ | 190 | movl %ebx,%edx /* 3rd arg: 1st syscall arg */ |
194 | movl %eax,%esi /* 2nd arg: syscall number */ | 191 | movl %eax,%esi /* 2nd arg: syscall number */ |
195 | movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */ | 192 | movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */ |
196 | call audit_syscall_entry | 193 | call __audit_syscall_entry |
197 | movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */ | 194 | movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */ |
198 | cmpq $(IA32_NR_syscalls-1),%rax | 195 | cmpq $(IA32_NR_syscalls-1),%rax |
199 | ja ia32_badsys | 196 | ja ia32_badsys |
@@ -205,22 +202,22 @@ sysexit_from_sys_call: | |||
205 | .endm | 202 | .endm |
206 | 203 | ||
207 | .macro auditsys_exit exit | 204 | .macro auditsys_exit exit |
208 | testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10) | 205 | testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
209 | jnz ia32_ret_from_sys_call | 206 | jnz ia32_ret_from_sys_call |
210 | TRACE_IRQS_ON | 207 | TRACE_IRQS_ON |
211 | sti | 208 | sti |
212 | movl %eax,%esi /* second arg, syscall return value */ | 209 | movl %eax,%esi /* second arg, syscall return value */ |
213 | cmpl $0,%eax /* is it < 0? */ | 210 | cmpl $-MAX_ERRNO,%eax /* is it an error ? */ |
214 | setl %al /* 1 if so, 0 if not */ | 211 | jbe 1f |
212 | movslq %eax, %rsi /* if error sign extend to 64 bits */ | ||
213 | 1: setbe %al /* 1 if error, 0 if not */ | ||
215 | movzbl %al,%edi /* zero-extend that into %edi */ | 214 | movzbl %al,%edi /* zero-extend that into %edi */ |
216 | inc %edi /* first arg, 0->1(AUDITSC_SUCCESS), 1->2(AUDITSC_FAILURE) */ | 215 | call __audit_syscall_exit |
217 | call audit_syscall_exit | 216 | movq RAX-ARGOFFSET(%rsp),%rax /* reload syscall return value */ |
218 | GET_THREAD_INFO(%r10) | ||
219 | movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall return value */ | ||
220 | movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi | 217 | movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi |
221 | cli | 218 | cli |
222 | TRACE_IRQS_OFF | 219 | TRACE_IRQS_OFF |
223 | testl %edi,TI_flags(%r10) | 220 | testl %edi,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
224 | jz \exit | 221 | jz \exit |
225 | CLEAR_RREGS -ARGOFFSET | 222 | CLEAR_RREGS -ARGOFFSET |
226 | jmp int_with_check | 223 | jmp int_with_check |
@@ -238,7 +235,7 @@ sysexit_audit: | |||
238 | 235 | ||
239 | sysenter_tracesys: | 236 | sysenter_tracesys: |
240 | #ifdef CONFIG_AUDITSYSCALL | 237 | #ifdef CONFIG_AUDITSYSCALL |
241 | testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10) | 238 | testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
242 | jz sysenter_auditsys | 239 | jz sysenter_auditsys |
243 | #endif | 240 | #endif |
244 | SAVE_REST | 241 | SAVE_REST |
@@ -309,9 +306,8 @@ ENTRY(ia32_cstar_target) | |||
309 | .section __ex_table,"a" | 306 | .section __ex_table,"a" |
310 | .quad 1b,ia32_badarg | 307 | .quad 1b,ia32_badarg |
311 | .previous | 308 | .previous |
312 | GET_THREAD_INFO(%r10) | 309 | orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
313 | orl $TS_COMPAT,TI_status(%r10) | 310 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
314 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) | ||
315 | CFI_REMEMBER_STATE | 311 | CFI_REMEMBER_STATE |
316 | jnz cstar_tracesys | 312 | jnz cstar_tracesys |
317 | cmpq $IA32_NR_syscalls-1,%rax | 313 | cmpq $IA32_NR_syscalls-1,%rax |
@@ -321,13 +317,12 @@ cstar_do_call: | |||
321 | cstar_dispatch: | 317 | cstar_dispatch: |
322 | call *ia32_sys_call_table(,%rax,8) | 318 | call *ia32_sys_call_table(,%rax,8) |
323 | movq %rax,RAX-ARGOFFSET(%rsp) | 319 | movq %rax,RAX-ARGOFFSET(%rsp) |
324 | GET_THREAD_INFO(%r10) | ||
325 | DISABLE_INTERRUPTS(CLBR_NONE) | 320 | DISABLE_INTERRUPTS(CLBR_NONE) |
326 | TRACE_IRQS_OFF | 321 | TRACE_IRQS_OFF |
327 | testl $_TIF_ALLWORK_MASK,TI_flags(%r10) | 322 | testl $_TIF_ALLWORK_MASK,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
328 | jnz sysretl_audit | 323 | jnz sysretl_audit |
329 | sysretl_from_sys_call: | 324 | sysretl_from_sys_call: |
330 | andl $~TS_COMPAT,TI_status(%r10) | 325 | andl $~TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
331 | RESTORE_ARGS 0,-ARG_SKIP,0,0,0 | 326 | RESTORE_ARGS 0,-ARG_SKIP,0,0,0 |
332 | movl RIP-ARGOFFSET(%rsp),%ecx | 327 | movl RIP-ARGOFFSET(%rsp),%ecx |
333 | CFI_REGISTER rip,rcx | 328 | CFI_REGISTER rip,rcx |
@@ -355,7 +350,7 @@ sysretl_audit: | |||
355 | 350 | ||
356 | cstar_tracesys: | 351 | cstar_tracesys: |
357 | #ifdef CONFIG_AUDITSYSCALL | 352 | #ifdef CONFIG_AUDITSYSCALL |
358 | testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags(%r10) | 353 | testl $(_TIF_WORK_SYSCALL_ENTRY & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
359 | jz cstar_auditsys | 354 | jz cstar_auditsys |
360 | #endif | 355 | #endif |
361 | xchgl %r9d,%ebp | 356 | xchgl %r9d,%ebp |
@@ -420,9 +415,8 @@ ENTRY(ia32_syscall) | |||
420 | /* note the registers are not zero extended to the sf. | 415 | /* note the registers are not zero extended to the sf. |
421 | this could be a problem. */ | 416 | this could be a problem. */ |
422 | SAVE_ARGS 0,1,0 | 417 | SAVE_ARGS 0,1,0 |
423 | GET_THREAD_INFO(%r10) | 418 | orl $TS_COMPAT,TI_status+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
424 | orl $TS_COMPAT,TI_status(%r10) | 419 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) |
425 | testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%r10) | ||
426 | jnz ia32_tracesys | 420 | jnz ia32_tracesys |
427 | cmpq $(IA32_NR_syscalls-1),%rax | 421 | cmpq $(IA32_NR_syscalls-1),%rax |
428 | ja ia32_badsys | 422 | ja ia32_badsys |
@@ -453,14 +447,11 @@ ia32_badsys: | |||
453 | movq $-ENOSYS,%rax | 447 | movq $-ENOSYS,%rax |
454 | jmp ia32_sysret | 448 | jmp ia32_sysret |
455 | 449 | ||
456 | quiet_ni_syscall: | ||
457 | movq $-ENOSYS,%rax | ||
458 | ret | ||
459 | CFI_ENDPROC | 450 | CFI_ENDPROC |
460 | 451 | ||
461 | .macro PTREGSCALL label, func, arg | 452 | .macro PTREGSCALL label, func, arg |
462 | .globl \label | 453 | ALIGN |
463 | \label: | 454 | GLOBAL(\label) |
464 | leaq \func(%rip),%rax | 455 | leaq \func(%rip),%rax |
465 | leaq -ARGOFFSET+8(%rsp),\arg /* 8 for return address */ | 456 | leaq -ARGOFFSET+8(%rsp),\arg /* 8 for return address */ |
466 | jmp ia32_ptregs_common | 457 | jmp ia32_ptregs_common |
@@ -477,7 +468,8 @@ quiet_ni_syscall: | |||
477 | PTREGSCALL stub32_vfork, sys_vfork, %rdi | 468 | PTREGSCALL stub32_vfork, sys_vfork, %rdi |
478 | PTREGSCALL stub32_iopl, sys_iopl, %rsi | 469 | PTREGSCALL stub32_iopl, sys_iopl, %rsi |
479 | 470 | ||
480 | ENTRY(ia32_ptregs_common) | 471 | ALIGN |
472 | ia32_ptregs_common: | ||
481 | popq %r11 | 473 | popq %r11 |
482 | CFI_ENDPROC | 474 | CFI_ENDPROC |
483 | CFI_STARTPROC32 simple | 475 | CFI_STARTPROC32 simple |
@@ -499,357 +491,3 @@ ENTRY(ia32_ptregs_common) | |||
499 | jmp ia32_sysret /* misbalances the return cache */ | 491 | jmp ia32_sysret /* misbalances the return cache */ |
500 | CFI_ENDPROC | 492 | CFI_ENDPROC |
501 | END(ia32_ptregs_common) | 493 | END(ia32_ptregs_common) |
502 | |||
503 | .section .rodata,"a" | ||
504 | .align 8 | ||
505 | ia32_sys_call_table: | ||
506 | .quad sys_restart_syscall | ||
507 | .quad sys_exit | ||
508 | .quad stub32_fork | ||
509 | .quad sys_read | ||
510 | .quad sys_write | ||
511 | .quad compat_sys_open /* 5 */ | ||
512 | .quad sys_close | ||
513 | .quad sys32_waitpid | ||
514 | .quad sys_creat | ||
515 | .quad sys_link | ||
516 | .quad sys_unlink /* 10 */ | ||
517 | .quad stub32_execve | ||
518 | .quad sys_chdir | ||
519 | .quad compat_sys_time | ||
520 | .quad sys_mknod | ||
521 | .quad sys_chmod /* 15 */ | ||
522 | .quad sys_lchown16 | ||
523 | .quad quiet_ni_syscall /* old break syscall holder */ | ||
524 | .quad sys_stat | ||
525 | .quad sys32_lseek | ||
526 | .quad sys_getpid /* 20 */ | ||
527 | .quad compat_sys_mount /* mount */ | ||
528 | .quad sys_oldumount /* old_umount */ | ||
529 | .quad sys_setuid16 | ||
530 | .quad sys_getuid16 | ||
531 | .quad compat_sys_stime /* stime */ /* 25 */ | ||
532 | .quad compat_sys_ptrace /* ptrace */ | ||
533 | .quad sys_alarm | ||
534 | .quad sys_fstat /* (old)fstat */ | ||
535 | .quad sys_pause | ||
536 | .quad compat_sys_utime /* 30 */ | ||
537 | .quad quiet_ni_syscall /* old stty syscall holder */ | ||
538 | .quad quiet_ni_syscall /* old gtty syscall holder */ | ||
539 | .quad sys_access | ||
540 | .quad sys_nice | ||
541 | .quad quiet_ni_syscall /* 35 */ /* old ftime syscall holder */ | ||
542 | .quad sys_sync | ||
543 | .quad sys32_kill | ||
544 | .quad sys_rename | ||
545 | .quad sys_mkdir | ||
546 | .quad sys_rmdir /* 40 */ | ||
547 | .quad sys_dup | ||
548 | .quad sys_pipe | ||
549 | .quad compat_sys_times | ||
550 | .quad quiet_ni_syscall /* old prof syscall holder */ | ||
551 | .quad sys_brk /* 45 */ | ||
552 | .quad sys_setgid16 | ||
553 | .quad sys_getgid16 | ||
554 | .quad sys_signal | ||
555 | .quad sys_geteuid16 | ||
556 | .quad sys_getegid16 /* 50 */ | ||
557 | .quad sys_acct | ||
558 | .quad sys_umount /* new_umount */ | ||
559 | .quad quiet_ni_syscall /* old lock syscall holder */ | ||
560 | .quad compat_sys_ioctl | ||
561 | .quad compat_sys_fcntl64 /* 55 */ | ||
562 | .quad quiet_ni_syscall /* old mpx syscall holder */ | ||
563 | .quad sys_setpgid | ||
564 | .quad quiet_ni_syscall /* old ulimit syscall holder */ | ||
565 | .quad sys_olduname | ||
566 | .quad sys_umask /* 60 */ | ||
567 | .quad sys_chroot | ||
568 | .quad compat_sys_ustat | ||
569 | .quad sys_dup2 | ||
570 | .quad sys_getppid | ||
571 | .quad sys_getpgrp /* 65 */ | ||
572 | .quad sys_setsid | ||
573 | .quad sys32_sigaction | ||
574 | .quad sys_sgetmask | ||
575 | .quad sys_ssetmask | ||
576 | .quad sys_setreuid16 /* 70 */ | ||
577 | .quad sys_setregid16 | ||
578 | .quad sys32_sigsuspend | ||
579 | .quad compat_sys_sigpending | ||
580 | .quad sys_sethostname | ||
581 | .quad compat_sys_setrlimit /* 75 */ | ||
582 | .quad compat_sys_old_getrlimit /* old_getrlimit */ | ||
583 | .quad compat_sys_getrusage | ||
584 | .quad compat_sys_gettimeofday | ||
585 | .quad compat_sys_settimeofday | ||
586 | .quad sys_getgroups16 /* 80 */ | ||
587 | .quad sys_setgroups16 | ||
588 | .quad compat_sys_old_select | ||
589 | .quad sys_symlink | ||
590 | .quad sys_lstat | ||
591 | .quad sys_readlink /* 85 */ | ||
592 | .quad sys_uselib | ||
593 | .quad sys_swapon | ||
594 | .quad sys_reboot | ||
595 | .quad compat_sys_old_readdir | ||
596 | .quad sys32_mmap /* 90 */ | ||
597 | .quad sys_munmap | ||
598 | .quad sys_truncate | ||
599 | .quad sys_ftruncate | ||
600 | .quad sys_fchmod | ||
601 | .quad sys_fchown16 /* 95 */ | ||
602 | .quad sys_getpriority | ||
603 | .quad sys_setpriority | ||
604 | .quad quiet_ni_syscall /* old profil syscall holder */ | ||
605 | .quad compat_sys_statfs | ||
606 | .quad compat_sys_fstatfs /* 100 */ | ||
607 | .quad sys_ioperm | ||
608 | .quad compat_sys_socketcall | ||
609 | .quad sys_syslog | ||
610 | .quad compat_sys_setitimer | ||
611 | .quad compat_sys_getitimer /* 105 */ | ||
612 | .quad compat_sys_newstat | ||
613 | .quad compat_sys_newlstat | ||
614 | .quad compat_sys_newfstat | ||
615 | .quad sys_uname | ||
616 | .quad stub32_iopl /* 110 */ | ||
617 | .quad sys_vhangup | ||
618 | .quad quiet_ni_syscall /* old "idle" system call */ | ||
619 | .quad sys32_vm86_warning /* vm86old */ | ||
620 | .quad compat_sys_wait4 | ||
621 | .quad sys_swapoff /* 115 */ | ||
622 | .quad compat_sys_sysinfo | ||
623 | .quad sys32_ipc | ||
624 | .quad sys_fsync | ||
625 | .quad stub32_sigreturn | ||
626 | .quad stub32_clone /* 120 */ | ||
627 | .quad sys_setdomainname | ||
628 | .quad sys_newuname | ||
629 | .quad sys_modify_ldt | ||
630 | .quad compat_sys_adjtimex | ||
631 | .quad sys32_mprotect /* 125 */ | ||
632 | .quad compat_sys_sigprocmask | ||
633 | .quad quiet_ni_syscall /* create_module */ | ||
634 | .quad sys_init_module | ||
635 | .quad sys_delete_module | ||
636 | .quad quiet_ni_syscall /* 130 get_kernel_syms */ | ||
637 | .quad sys32_quotactl | ||
638 | .quad sys_getpgid | ||
639 | .quad sys_fchdir | ||
640 | .quad quiet_ni_syscall /* bdflush */ | ||
641 | .quad sys_sysfs /* 135 */ | ||
642 | .quad sys_personality | ||
643 | .quad quiet_ni_syscall /* for afs_syscall */ | ||
644 | .quad sys_setfsuid16 | ||
645 | .quad sys_setfsgid16 | ||
646 | .quad sys_llseek /* 140 */ | ||
647 | .quad compat_sys_getdents | ||
648 | .quad compat_sys_select | ||
649 | .quad sys_flock | ||
650 | .quad sys_msync | ||
651 | .quad compat_sys_readv /* 145 */ | ||
652 | .quad compat_sys_writev | ||
653 | .quad sys_getsid | ||
654 | .quad sys_fdatasync | ||
655 | .quad compat_sys_sysctl /* sysctl */ | ||
656 | .quad sys_mlock /* 150 */ | ||
657 | .quad sys_munlock | ||
658 | .quad sys_mlockall | ||
659 | .quad sys_munlockall | ||
660 | .quad sys_sched_setparam | ||
661 | .quad sys_sched_getparam /* 155 */ | ||
662 | .quad sys_sched_setscheduler | ||
663 | .quad sys_sched_getscheduler | ||
664 | .quad sys_sched_yield | ||
665 | .quad sys_sched_get_priority_max | ||
666 | .quad sys_sched_get_priority_min /* 160 */ | ||
667 | .quad sys32_sched_rr_get_interval | ||
668 | .quad compat_sys_nanosleep | ||
669 | .quad sys_mremap | ||
670 | .quad sys_setresuid16 | ||
671 | .quad sys_getresuid16 /* 165 */ | ||
672 | .quad sys32_vm86_warning /* vm86 */ | ||
673 | .quad quiet_ni_syscall /* query_module */ | ||
674 | .quad sys_poll | ||
675 | .quad quiet_ni_syscall /* old nfsservctl */ | ||
676 | .quad sys_setresgid16 /* 170 */ | ||
677 | .quad sys_getresgid16 | ||
678 | .quad sys_prctl | ||
679 | .quad stub32_rt_sigreturn | ||
680 | .quad sys32_rt_sigaction | ||
681 | .quad sys32_rt_sigprocmask /* 175 */ | ||
682 | .quad sys32_rt_sigpending | ||
683 | .quad compat_sys_rt_sigtimedwait | ||
684 | .quad sys32_rt_sigqueueinfo | ||
685 | .quad sys_rt_sigsuspend | ||
686 | .quad sys32_pread /* 180 */ | ||
687 | .quad sys32_pwrite | ||
688 | .quad sys_chown16 | ||
689 | .quad sys_getcwd | ||
690 | .quad sys_capget | ||
691 | .quad sys_capset | ||
692 | .quad stub32_sigaltstack | ||
693 | .quad sys32_sendfile | ||
694 | .quad quiet_ni_syscall /* streams1 */ | ||
695 | .quad quiet_ni_syscall /* streams2 */ | ||
696 | .quad stub32_vfork /* 190 */ | ||
697 | .quad compat_sys_getrlimit | ||
698 | .quad sys_mmap_pgoff | ||
699 | .quad sys32_truncate64 | ||
700 | .quad sys32_ftruncate64 | ||
701 | .quad sys32_stat64 /* 195 */ | ||
702 | .quad sys32_lstat64 | ||
703 | .quad sys32_fstat64 | ||
704 | .quad sys_lchown | ||
705 | .quad sys_getuid | ||
706 | .quad sys_getgid /* 200 */ | ||
707 | .quad sys_geteuid | ||
708 | .quad sys_getegid | ||
709 | .quad sys_setreuid | ||
710 | .quad sys_setregid | ||
711 | .quad sys_getgroups /* 205 */ | ||
712 | .quad sys_setgroups | ||
713 | .quad sys_fchown | ||
714 | .quad sys_setresuid | ||
715 | .quad sys_getresuid | ||
716 | .quad sys_setresgid /* 210 */ | ||
717 | .quad sys_getresgid | ||
718 | .quad sys_chown | ||
719 | .quad sys_setuid | ||
720 | .quad sys_setgid | ||
721 | .quad sys_setfsuid /* 215 */ | ||
722 | .quad sys_setfsgid | ||
723 | .quad sys_pivot_root | ||
724 | .quad sys_mincore | ||
725 | .quad sys_madvise | ||
726 | .quad compat_sys_getdents64 /* 220 getdents64 */ | ||
727 | .quad compat_sys_fcntl64 | ||
728 | .quad quiet_ni_syscall /* tux */ | ||
729 | .quad quiet_ni_syscall /* security */ | ||
730 | .quad sys_gettid | ||
731 | .quad sys32_readahead /* 225 */ | ||
732 | .quad sys_setxattr | ||
733 | .quad sys_lsetxattr | ||
734 | .quad sys_fsetxattr | ||
735 | .quad sys_getxattr | ||
736 | .quad sys_lgetxattr /* 230 */ | ||
737 | .quad sys_fgetxattr | ||
738 | .quad sys_listxattr | ||
739 | .quad sys_llistxattr | ||
740 | .quad sys_flistxattr | ||
741 | .quad sys_removexattr /* 235 */ | ||
742 | .quad sys_lremovexattr | ||
743 | .quad sys_fremovexattr | ||
744 | .quad sys_tkill | ||
745 | .quad sys_sendfile64 | ||
746 | .quad compat_sys_futex /* 240 */ | ||
747 | .quad compat_sys_sched_setaffinity | ||
748 | .quad compat_sys_sched_getaffinity | ||
749 | .quad sys_set_thread_area | ||
750 | .quad sys_get_thread_area | ||
751 | .quad compat_sys_io_setup /* 245 */ | ||
752 | .quad sys_io_destroy | ||
753 | .quad compat_sys_io_getevents | ||
754 | .quad compat_sys_io_submit | ||
755 | .quad sys_io_cancel | ||
756 | .quad sys32_fadvise64 /* 250 */ | ||
757 | .quad quiet_ni_syscall /* free_huge_pages */ | ||
758 | .quad sys_exit_group | ||
759 | .quad sys32_lookup_dcookie | ||
760 | .quad sys_epoll_create | ||
761 | .quad sys_epoll_ctl /* 255 */ | ||
762 | .quad sys_epoll_wait | ||
763 | .quad sys_remap_file_pages | ||
764 | .quad sys_set_tid_address | ||
765 | .quad compat_sys_timer_create | ||
766 | .quad compat_sys_timer_settime /* 260 */ | ||
767 | .quad compat_sys_timer_gettime | ||
768 | .quad sys_timer_getoverrun | ||
769 | .quad sys_timer_delete | ||
770 | .quad compat_sys_clock_settime | ||
771 | .quad compat_sys_clock_gettime /* 265 */ | ||
772 | .quad compat_sys_clock_getres | ||
773 | .quad compat_sys_clock_nanosleep | ||
774 | .quad compat_sys_statfs64 | ||
775 | .quad compat_sys_fstatfs64 | ||
776 | .quad sys_tgkill /* 270 */ | ||
777 | .quad compat_sys_utimes | ||
778 | .quad sys32_fadvise64_64 | ||
779 | .quad quiet_ni_syscall /* sys_vserver */ | ||
780 | .quad sys_mbind | ||
781 | .quad compat_sys_get_mempolicy /* 275 */ | ||
782 | .quad sys_set_mempolicy | ||
783 | .quad compat_sys_mq_open | ||
784 | .quad sys_mq_unlink | ||
785 | .quad compat_sys_mq_timedsend | ||
786 | .quad compat_sys_mq_timedreceive /* 280 */ | ||
787 | .quad compat_sys_mq_notify | ||
788 | .quad compat_sys_mq_getsetattr | ||
789 | .quad compat_sys_kexec_load /* reserved for kexec */ | ||
790 | .quad compat_sys_waitid | ||
791 | .quad quiet_ni_syscall /* 285: sys_altroot */ | ||
792 | .quad sys_add_key | ||
793 | .quad sys_request_key | ||
794 | .quad sys_keyctl | ||
795 | .quad sys_ioprio_set | ||
796 | .quad sys_ioprio_get /* 290 */ | ||
797 | .quad sys_inotify_init | ||
798 | .quad sys_inotify_add_watch | ||
799 | .quad sys_inotify_rm_watch | ||
800 | .quad sys_migrate_pages | ||
801 | .quad compat_sys_openat /* 295 */ | ||
802 | .quad sys_mkdirat | ||
803 | .quad sys_mknodat | ||
804 | .quad sys_fchownat | ||
805 | .quad compat_sys_futimesat | ||
806 | .quad sys32_fstatat /* 300 */ | ||
807 | .quad sys_unlinkat | ||
808 | .quad sys_renameat | ||
809 | .quad sys_linkat | ||
810 | .quad sys_symlinkat | ||
811 | .quad sys_readlinkat /* 305 */ | ||
812 | .quad sys_fchmodat | ||
813 | .quad sys_faccessat | ||
814 | .quad compat_sys_pselect6 | ||
815 | .quad compat_sys_ppoll | ||
816 | .quad sys_unshare /* 310 */ | ||
817 | .quad compat_sys_set_robust_list | ||
818 | .quad compat_sys_get_robust_list | ||
819 | .quad sys_splice | ||
820 | .quad sys32_sync_file_range | ||
821 | .quad sys_tee /* 315 */ | ||
822 | .quad compat_sys_vmsplice | ||
823 | .quad compat_sys_move_pages | ||
824 | .quad sys_getcpu | ||
825 | .quad sys_epoll_pwait | ||
826 | .quad compat_sys_utimensat /* 320 */ | ||
827 | .quad compat_sys_signalfd | ||
828 | .quad sys_timerfd_create | ||
829 | .quad sys_eventfd | ||
830 | .quad sys32_fallocate | ||
831 | .quad compat_sys_timerfd_settime /* 325 */ | ||
832 | .quad compat_sys_timerfd_gettime | ||
833 | .quad compat_sys_signalfd4 | ||
834 | .quad sys_eventfd2 | ||
835 | .quad sys_epoll_create1 | ||
836 | .quad sys_dup3 /* 330 */ | ||
837 | .quad sys_pipe2 | ||
838 | .quad sys_inotify_init1 | ||
839 | .quad compat_sys_preadv | ||
840 | .quad compat_sys_pwritev | ||
841 | .quad compat_sys_rt_tgsigqueueinfo /* 335 */ | ||
842 | .quad sys_perf_event_open | ||
843 | .quad compat_sys_recvmmsg | ||
844 | .quad sys_fanotify_init | ||
845 | .quad sys32_fanotify_mark | ||
846 | .quad sys_prlimit64 /* 340 */ | ||
847 | .quad sys_name_to_handle_at | ||
848 | .quad compat_sys_open_by_handle_at | ||
849 | .quad compat_sys_clock_adjtime | ||
850 | .quad sys_syncfs | ||
851 | .quad compat_sys_sendmmsg /* 345 */ | ||
852 | .quad sys_setns | ||
853 | .quad compat_sys_process_vm_readv | ||
854 | .quad compat_sys_process_vm_writev | ||
855 | ia32_syscall_end: | ||