Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8e8073a4 authored by David S. Miller's avatar David S. Miller
Browse files

sparc: Hook up new fanotify and prlimit64 syscalls.



The only tricky bit is the compat version of fanotify_mark, which
which on 32-bit the 64-bit mark argument is passed in as "high32",
"low32".

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 300a103d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -397,8 +397,11 @@
#define __NR_rt_tgsigqueueinfo	326
#define __NR_perf_event_open	327
#define __NR_recvmmsg		328
#define __NR_fanotify_init	329
#define __NR_fanotify_mark	330
#define __NR_prlimit64		331

#define NR_syscalls		329
#define NR_syscalls		332

#ifdef __32bit_syscall_numbers__
/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
+9 −0
Original line number Diff line number Diff line
@@ -330,6 +330,15 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
	nop
	nop

	.globl		sys32_fanotify_mark
sys32_fanotify_mark:
	sethi		%hi(sys_fanotify_mark), %g1
	sllx		%o2, 32, %o2
	or		%o2, %o3, %o2
	mov		%o4, %o3
	jmpl		%g1 + %lo(sys_fanotify_mark), %g0
	 mov		%o5, %o4

	.section	__ex_table,"a"
	.align		4
	.word		1b, __retl_efault, 2b, __retl_efault
+2 −1
Original line number Diff line number Diff line
@@ -82,5 +82,6 @@ sys_call_table:
/*310*/	.long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
/*315*/	.long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/	.long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
/*325*/	.long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg
/*325*/	.long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
/*330*/	.long sys_fanotify_mark, sys_prlimit64
+4 −2
Original line number Diff line number Diff line
@@ -83,7 +83,8 @@ sys_call_table32:
/*310*/	.word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate
	.word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/	.word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv
	.word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg
	.word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init
/*330*/	.word sys32_fanotify_mark, sys_prlimit64

#endif /* CONFIG_COMPAT */

@@ -158,4 +159,5 @@ sys_call_table:
/*310*/	.word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
	.word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/	.word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
	.word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg
	.word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
/*330*/	.word sys_fanotify_mark, sys_prlimit64