Commit 5ba6d3fe authored by Russell King's avatar Russell King Committed by Russell King

[ARM] Move syscall saving out of the way of utrace

utrace removes the ptrace_message field in task_struct.  Move our use
of this field into a new member in thread_info called "syscall"
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 40435792
...@@ -779,8 +779,8 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) ...@@ -779,8 +779,8 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
break; break;
case PTRACE_SET_SYSCALL: case PTRACE_SET_SYSCALL:
task_thread_info(child)->syscall = data;
ret = 0; ret = 0;
child->ptrace_message = data;
break; break;
#ifdef CONFIG_CRUNCH #ifdef CONFIG_CRUNCH
...@@ -817,7 +817,7 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno) ...@@ -817,7 +817,7 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
ip = regs->ARM_ip; ip = regs->ARM_ip;
regs->ARM_ip = why; regs->ARM_ip = why;
current->ptrace_message = scno; current_thread_info()->syscall = scno;
/* the 0x80 provides a way for the tracing parent to distinguish /* the 0x80 provides a way for the tracing parent to distinguish
between a syscall stop and SIGTRAP delivery */ between a syscall stop and SIGTRAP delivery */
...@@ -834,5 +834,5 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno) ...@@ -834,5 +834,5 @@ asmlinkage int syscall_trace(int why, struct pt_regs *regs, int scno)
} }
regs->ARM_ip = ip; regs->ARM_ip = ip;
return current->ptrace_message; return current_thread_info()->syscall;
} }
...@@ -57,6 +57,7 @@ struct thread_info { ...@@ -57,6 +57,7 @@ struct thread_info {
__u32 cpu; /* cpu */ __u32 cpu; /* cpu */
__u32 cpu_domain; /* cpu domain */ __u32 cpu_domain; /* cpu domain */
struct cpu_context_save cpu_context; /* cpu context */ struct cpu_context_save cpu_context; /* cpu context */
__u32 syscall; /* syscall number */
__u8 used_cp[16]; /* thread used copro */ __u8 used_cp[16]; /* thread used copro */
unsigned long tp_value; unsigned long tp_value;
struct crunch_state crunchstate; struct crunch_state crunchstate;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment