summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/ptrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/ptrace.c')
-rw-r--r--arch/sparc64/kernel/ptrace.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
index c582be060..f061c417f 100644
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -68,7 +68,7 @@ pt_succ_return_linux(struct pt_regs *regs, unsigned long value, long *addr)
static void
pt_os_succ_return (struct pt_regs *regs, unsigned long val, long *addr)
{
- if (current->personality & PER_BSD)
+ if (current->personality == PER_SUNOS)
pt_succ_return (regs, val);
else
pt_succ_return_linux (regs, val, addr);
@@ -164,8 +164,8 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
goto out;
}
- if (((current->personality & PER_BSD) && (request == PTRACE_SUNATTACH))
- || (!(current->personality & PER_BSD) && (request == PTRACE_ATTACH))) {
+ if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
+ || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
unsigned long flags;
if(child == current) {
@@ -203,9 +203,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
pt_succ_return(regs, 0);
goto out;
}
- if (!(child->flags & PF_PTRACED)
- && ((current->personality & PER_BSD) && (request != PTRACE_SUNATTACH))
- && (!(current->personality & PER_BSD) && (request != PTRACE_ATTACH))) {
+ if (!(child->flags & PF_PTRACED)) {
pt_error_return(regs, ESRCH);
goto out;
}