diff options
author | Jonas Bonn <jonas@southpole.se> | 2012-03-02 04:05:24 -0500 |
---|---|---|
committer | Jonas Bonn <jonas@southpole.se> | 2012-03-06 04:37:00 -0500 |
commit | 6cbe5e95267449ea0b79c0b049342409949da3ac (patch) | |
tree | 21243a6c899b27f67338d77a28ccbe0f473272bc /arch/openrisc/kernel/ptrace.c | |
parent | 2f099a280e92c259598d8ed8da82c7ec2dd49845 (diff) |
openrisc: sanitize use of orig_gpr11
The pt_regs struct had both a 'syscallno' field and an 'orig_gpr11' field
and it wasn't really clear how these were supposed to be used. This patch
removes the syscallno field altogether and makes orig_gpr11 work more
like other architectures: keep track of syscall number in progress or
hold -1 for non-syscall exceptions.
Signed-off-by: Jonas Bonn <jonas@southpole.se>
Diffstat (limited to 'arch/openrisc/kernel/ptrace.c')
-rw-r--r-- | arch/openrisc/kernel/ptrace.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/openrisc/kernel/ptrace.c b/arch/openrisc/kernel/ptrace.c index 7259047d5f9..6deacb6b95a 100644 --- a/arch/openrisc/kernel/ptrace.c +++ b/arch/openrisc/kernel/ptrace.c | |||
@@ -188,11 +188,11 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) | |||
188 | */ | 188 | */ |
189 | ret = -1L; | 189 | ret = -1L; |
190 | 190 | ||
191 | audit_syscall_entry(audit_arch(), regs->syscallno, | 191 | audit_syscall_entry(audit_arch(), regs->gpr[11], |
192 | regs->gpr[3], regs->gpr[4], | 192 | regs->gpr[3], regs->gpr[4], |
193 | regs->gpr[5], regs->gpr[6]); | 193 | regs->gpr[5], regs->gpr[6]); |
194 | 194 | ||
195 | return ret ? : regs->syscallno; | 195 | return ret ? : regs->gpr[11]; |
196 | } | 196 | } |
197 | 197 | ||
198 | asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) | 198 | asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) |