Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 4448
b: refs/heads/master
c: 8d8a647
h: refs/heads/master
v: v3
  • Loading branch information
David S. Miller committed Jul 10, 2005
1 parent 95b0d48 commit c4b67c1
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb49bcda15f1bc1a52c7f887db278447f332eaa7
refs/heads/master: 8d8a64796fdee4e20355c6c12c9cc630a2e7494d
14 changes: 9 additions & 5 deletions trunk/arch/sparc64/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -1555,8 +1555,9 @@ sys_ptrace: add %sp, PTREGS_OFF, %o0
andcc %l5, (_TIF_SYSCALL_TRACE|_TIF_SECCOMP), %g0
be,pt %icc, rtrap
clr %l6
add %sp, PTREGS_OFF, %o0
call syscall_trace
nop
mov 1, %o1

ba,pt %xcc, rtrap
clr %l6
Expand Down Expand Up @@ -1640,18 +1641,20 @@ linux_sparc_ni_syscall:
or %l7, %lo(sys_ni_syscall), %l7

linux_syscall_trace32:
add %sp, PTREGS_OFF, %o0
call syscall_trace
nop
clr %o1
srl %i0, 0, %o0
mov %i4, %o4
srl %i4, 0, %o4
srl %i1, 0, %o1
srl %i2, 0, %o2
b,pt %xcc, 2f
srl %i3, 0, %o3

linux_syscall_trace:
add %sp, PTREGS_OFF, %o0
call syscall_trace
nop
clr %o1
mov %i0, %o0
mov %i1, %o1
mov %i2, %o2
Expand Down Expand Up @@ -1755,8 +1758,9 @@ ret_sys_call:
b,pt %xcc, rtrap
stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC]
linux_syscall_trace2:
add %sp, PTREGS_OFF, %o0
call syscall_trace
nop
mov 1, %o1
stx %l1, [%sp + PTREGS_OFF + PT_V9_TPC]
ba,pt %xcc, rtrap
stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC]
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/sparc64/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -628,10 +628,10 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
unlock_kernel();
}

asmlinkage void syscall_trace(void)
asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p)
{
/* do the secure computing check first */
secure_computing(current_thread_info()->kregs->u_regs[UREG_G1]);
secure_computing(regs->u_regs[UREG_G1]);

if (!test_thread_flag(TIF_SYSCALL_TRACE))
return;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc64/kernel/sparc64_ksyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ extern void linux_sparc_syscall(void);
extern void rtrap(void);
extern void show_regs(struct pt_regs *);
extern void solaris_syscall(void);
extern void syscall_trace(void);
extern void syscall_trace(struct pt_regs *, int);
extern u32 sunos_sys_table[], sys_call_table32[];
extern void tl0_solaris(void);
extern void sys_sigsuspend(void);
Expand Down
7 changes: 5 additions & 2 deletions trunk/arch/sparc64/solaris/entry64.S
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@

.text
solaris_syscall_trace:
add %sp, PTREGS_OFF, %o0
call syscall_trace
nop
mov 0, %o1
srl %i0, 0, %o0
mov %i4, %o4
srl %i1, 0, %o1
Expand Down Expand Up @@ -159,8 +160,10 @@ ret_from_solaris:
stx %l2, [%sp + PTREGS_OFF + PT_V9_TNPC] !npc = npc+4

solaris_syscall_trace2:
add %sp, PTREGS_OFF, %o0
call syscall_trace
add %l1, 0x4, %l2 /* npc = npc+4 */
mov 1, %o1
add %l1, 0x4, %l2 /* npc = npc+4 */
andcc %l1, 1, %g0
bne,pn %icc, 2b
nop
Expand Down

0 comments on commit c4b67c1

Please sign in to comment.