diff options
| -rw-r--r-- | arch/sparc/include/asm/unistd.h | 5 | ||||
| -rw-r--r-- | arch/sparc/kernel/sys32.S | 9 | ||||
| -rw-r--r-- | arch/sparc/kernel/systbls_32.S | 3 | ||||
| -rw-r--r-- | arch/sparc/kernel/systbls_64.S | 6 |
4 files changed, 19 insertions, 4 deletions
diff --git a/arch/sparc/include/asm/unistd.h b/arch/sparc/include/asm/unistd.h index d0b3b01ac9d4..03eb5a8f6f93 100644 --- a/arch/sparc/include/asm/unistd.h +++ b/arch/sparc/include/asm/unistd.h | |||
| @@ -397,8 +397,11 @@ | |||
| 397 | #define __NR_rt_tgsigqueueinfo 326 | 397 | #define __NR_rt_tgsigqueueinfo 326 |
| 398 | #define __NR_perf_event_open 327 | 398 | #define __NR_perf_event_open 327 |
| 399 | #define __NR_recvmmsg 328 | 399 | #define __NR_recvmmsg 328 |
| 400 | #define __NR_fanotify_init 329 | ||
| 401 | #define __NR_fanotify_mark 330 | ||
| 402 | #define __NR_prlimit64 331 | ||
| 400 | 403 | ||
| 401 | #define NR_syscalls 329 | 404 | #define NR_syscalls 332 |
| 402 | 405 | ||
| 403 | #ifdef __32bit_syscall_numbers__ | 406 | #ifdef __32bit_syscall_numbers__ |
| 404 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, | 407 | /* Sparc 32-bit only has the "setresuid32", "getresuid32" variants, |
diff --git a/arch/sparc/kernel/sys32.S b/arch/sparc/kernel/sys32.S index 46a76ba3fb4b..44e5faf1ad5f 100644 --- a/arch/sparc/kernel/sys32.S +++ b/arch/sparc/kernel/sys32.S | |||
| @@ -330,6 +330,15 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */ | |||
| 330 | nop | 330 | nop |
| 331 | nop | 331 | nop |
| 332 | 332 | ||
| 333 | .globl sys32_fanotify_mark | ||
| 334 | sys32_fanotify_mark: | ||
| 335 | sethi %hi(sys_fanotify_mark), %g1 | ||
| 336 | sllx %o2, 32, %o2 | ||
| 337 | or %o2, %o3, %o2 | ||
| 338 | mov %o4, %o3 | ||
| 339 | jmpl %g1 + %lo(sys_fanotify_mark), %g0 | ||
| 340 | mov %o5, %o4 | ||
| 341 | |||
| 333 | .section __ex_table,"a" | 342 | .section __ex_table,"a" |
| 334 | .align 4 | 343 | .align 4 |
| 335 | .word 1b, __retl_efault, 2b, __retl_efault | 344 | .word 1b, __retl_efault, 2b, __retl_efault |
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S index 801fc8e5a0e8..ec396e1916b9 100644 --- a/arch/sparc/kernel/systbls_32.S +++ b/arch/sparc/kernel/systbls_32.S | |||
| @@ -82,5 +82,6 @@ sys_call_table: | |||
| 82 | /*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate | 82 | /*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate |
| 83 | /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 83 | /*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 84 | /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv | 84 | /*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv |
| 85 | /*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg | 85 | /*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init |
| 86 | /*330*/ .long sys_fanotify_mark, sys_prlimit64 | ||
| 86 | 87 | ||
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S index 9db058dd039e..8cfcaa549580 100644 --- a/arch/sparc/kernel/systbls_64.S +++ b/arch/sparc/kernel/systbls_64.S | |||
| @@ -83,7 +83,8 @@ sys_call_table32: | |||
| 83 | /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate | 83 | /*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate |
| 84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 84 | .word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv | 85 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv |
| 86 | .word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg | 86 | .word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init |
| 87 | /*330*/ .word sys32_fanotify_mark, sys_prlimit64 | ||
| 87 | 88 | ||
| 88 | #endif /* CONFIG_COMPAT */ | 89 | #endif /* CONFIG_COMPAT */ |
| 89 | 90 | ||
| @@ -158,4 +159,5 @@ sys_call_table: | |||
| 158 | /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate | 159 | /*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate |
| 159 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 | 160 | .word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1 |
| 160 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv | 161 | /*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv |
| 161 | .word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg | 162 | .word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init |
| 163 | /*330*/ .word sys_fanotify_mark, sys_prlimit64 | ||
