aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/sparc/kernel/ptrace.c15
-rw-r--r--arch/sparc64/kernel/ptrace.c15
2 files changed, 2 insertions, 28 deletions
diff --git a/arch/sparc/kernel/ptrace.c b/arch/sparc/kernel/ptrace.c
index 0619958ecfdc..29fa6e5cb450 100644
--- a/arch/sparc/kernel/ptrace.c
+++ b/arch/sparc/kernel/ptrace.c
@@ -556,8 +556,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
556 goto out; 556 goto out;
557 } 557 }
558 558
559 if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH) 559 if (request == PTRACE_ATTACH) {
560 || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
561 if (ptrace_attach(child)) { 560 if (ptrace_attach(child)) {
562 pt_error_return(regs, EPERM); 561 pt_error_return(regs, EPERM);
563 goto out_tsk; 562 goto out_tsk;
@@ -789,18 +788,6 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
789 goto out_tsk; 788 goto out_tsk;
790 } 789 }
791 790
792 case PTRACE_SUNDETACH: { /* detach a process that was attached. */
793 int err = ptrace_detach(child, data);
794 if (err) {
795 pt_error_return(regs, EIO);
796 goto out_tsk;
797 }
798 pt_succ_return(regs, 0);
799 goto out_tsk;
800 }
801
802 /* PTRACE_DUMPCORE unsupported... */
803
804 default: { 791 default: {
805 int err = ptrace_request(child, request, addr, data); 792 int err = ptrace_request(child, request, addr, data);
806 if (err) 793 if (err)
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c
index 2232e85c8415..e881dbbd2c49 100644
--- a/arch/sparc64/kernel/ptrace.c
+++ b/arch/sparc64/kernel/ptrace.c
@@ -766,8 +766,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
766 goto out; 766 goto out;
767 } 767 }
768 768
769 if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH) 769 if (request == PTRACE_ATTACH) {
770 || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
771 if (ptrace_attach(child)) { 770 if (ptrace_attach(child)) {
772 pt_error_return(regs, EPERM); 771 pt_error_return(regs, EPERM);
773 goto out_tsk; 772 goto out_tsk;
@@ -1137,18 +1136,6 @@ asmlinkage void do_ptrace(struct pt_regs *regs)
1137 goto out_tsk; 1136 goto out_tsk;
1138 } 1137 }
1139 1138
1140 case PTRACE_SUNDETACH: { /* detach a process that was attached. */
1141 int error = ptrace_detach(child, data);
1142 if (error) {
1143 pt_error_return(regs, EIO);
1144 goto out_tsk;
1145 }
1146 pt_succ_return(regs, 0);
1147 goto out_tsk;
1148 }
1149
1150 /* PTRACE_DUMPCORE unsupported... */
1151
1152 case PTRACE_GETEVENTMSG: { 1139 case PTRACE_GETEVENTMSG: {
1153 int err; 1140 int err;
1154 1141