summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/syscalls.S
diff options
context:
space:
mode:
authorRoland McGrath2008-07-27 09:30:50 +0200
committerDavid S. Miller2008-07-28 02:28:55 +0200
commit73ccefab8a6590bb3d5b44c046010139108ab7ca (patch)
tree76b9ebc1fb2bc80b4d01d95a232220ac0012972b /arch/sparc64/kernel/syscalls.S
parentMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/sparc (diff)
downloadkernel-qcow2-linux-73ccefab8a6590bb3d5b44c046010139108ab7ca.tar.gz
kernel-qcow2-linux-73ccefab8a6590bb3d5b44c046010139108ab7ca.tar.xz
kernel-qcow2-linux-73ccefab8a6590bb3d5b44c046010139108ab7ca.zip
sparc64: tracehook syscall
This changes sparc64 syscall tracing to use the new tracehook.h entry points. [ Add assembly changes to force an immediate -ENOSYS return from the system call when syscall_trace() returns non-zero at syscall entry. -DaveM ] Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/syscalls.S')
-rw-r--r--arch/sparc64/kernel/syscalls.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/syscalls.S b/arch/sparc64/kernel/syscalls.S
index db19ed67acf6..a2f24270ed8a 100644
--- a/arch/sparc64/kernel/syscalls.S
+++ b/arch/sparc64/kernel/syscalls.S
@@ -162,6 +162,8 @@ linux_syscall_trace32:
add %sp, PTREGS_OFF, %o0
call syscall_trace
clr %o1
+ brnz,pn %o0, 3f
+ mov -ENOSYS, %o0
srl %i0, 0, %o0
srl %i4, 0, %o4
srl %i1, 0, %o1
@@ -173,6 +175,8 @@ linux_syscall_trace:
add %sp, PTREGS_OFF, %o0
call syscall_trace
clr %o1
+ brnz,pn %o0, 3f
+ mov -ENOSYS, %o0
mov %i0, %o0
mov %i1, %o1
mov %i2, %o2