powerpc: Remove old powerpc specific ptrace getregs/setregs calls
authorAnton Blanchard <anton@samba.org>
Tue, 17 Apr 2012 19:36:21 +0000 (19:36 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 30 Apr 2012 05:37:28 +0000 (15:37 +1000)
PowerPC has non standard getregs calls that only dump the GPRs or
FPRs and have their arguments reversed. commit e17666ba48f7 (ptrace
updates & new, better requests) in 2.6.3 deprecated them and introduced
more standard versions.

It's been about 5 years and I know of no users of the old calls so
lets remove them.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/ptrace.h
arch/powerpc/kernel/ptrace.c
arch/powerpc/kernel/ptrace32.c

index 84cc7840cd18f139e1410f50fc383baa8010d16b..9c21ed42aba6c593207d4b24b1b1523916c07716 100644 (file)
@@ -354,12 +354,6 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
 #define PTRACE_GETREGS64         22
 #define PTRACE_SETREGS64         23
 
-/* (old) PTRACE requests with inverted arguments */
-#define PPC_PTRACE_GETREGS     0x99    /* Get GPRs 0 - 31 */
-#define PPC_PTRACE_SETREGS     0x98    /* Set GPRs 0 - 31 */
-#define PPC_PTRACE_GETFPREGS   0x97    /* Get FPRs 0 - 31 */
-#define PPC_PTRACE_SETFPREGS   0x96    /* Set FPRs 0 - 31 */
-
 /* Calls to trace a 64bit program from a 32bit program */
 #define PPC_PTRACE_PEEKTEXT_3264 0x95
 #define PPC_PTRACE_PEEKDATA_3264 0x94
index 8d8e028893be6e89346d89e984ae76b0a4cfb583..ac3cb008fb31a261460853b54d93452f825c5226 100644 (file)
@@ -1432,40 +1432,6 @@ static long ppc_del_hwdebug(struct task_struct *child, long addr, long data)
 #endif
 }
 
-/*
- * Here are the old "legacy" powerpc specific getregs/setregs ptrace calls,
- * we mark them as obsolete now, they will be removed in a future version
- */
-static long arch_ptrace_old(struct task_struct *child, long request,
-                           unsigned long addr, unsigned long data)
-{
-       void __user *datavp = (void __user *) data;
-
-       switch (request) {
-       case PPC_PTRACE_GETREGS:        /* Get GPRs 0 - 31. */
-               return copy_regset_to_user(child, &user_ppc_native_view,
-                                          REGSET_GPR, 0, 32 * sizeof(long),
-                                          datavp);
-
-       case PPC_PTRACE_SETREGS:        /* Set GPRs 0 - 31. */
-               return copy_regset_from_user(child, &user_ppc_native_view,
-                                            REGSET_GPR, 0, 32 * sizeof(long),
-                                            datavp);
-
-       case PPC_PTRACE_GETFPREGS:      /* Get FPRs 0 - 31. */
-               return copy_regset_to_user(child, &user_ppc_native_view,
-                                          REGSET_FPR, 0, 32 * sizeof(double),
-                                          datavp);
-
-       case PPC_PTRACE_SETFPREGS:      /* Set FPRs 0 - 31. */
-               return copy_regset_from_user(child, &user_ppc_native_view,
-                                            REGSET_FPR, 0, 32 * sizeof(double),
-                                            datavp);
-       }
-
-       return -EPERM;
-}
-
 long arch_ptrace(struct task_struct *child, long request,
                 unsigned long addr, unsigned long data)
 {
@@ -1687,14 +1653,6 @@ long arch_ptrace(struct task_struct *child, long request,
                                             datavp);
 #endif
 
-       /* Old reverse args ptrace callss */
-       case PPC_PTRACE_GETREGS: /* Get GPRs 0 - 31. */
-       case PPC_PTRACE_SETREGS: /* Set GPRs 0 - 31. */
-       case PPC_PTRACE_GETFPREGS: /* Get FPRs 0 - 31. */
-       case PPC_PTRACE_SETFPREGS: /* Get FPRs 0 - 31. */
-               ret = arch_ptrace_old(child, request, addr, data);
-               break;
-
        default:
                ret = ptrace_request(child, request, addr, data);
                break;
index 469349d14a97e18b56a3fae0d9b12362f325249c..8c21658719d96507efe14ba40c61c266ca99c738 100644 (file)
  * in exit.c or in signal.c.
  */
 
-/*
- * Here are the old "legacy" powerpc specific getregs/setregs ptrace calls,
- * we mark them as obsolete now, they will be removed in a future version
- */
-static long compat_ptrace_old(struct task_struct *child, long request,
-                             long addr, long data)
-{
-       switch (request) {
-       case PPC_PTRACE_GETREGS:        /* Get GPRs 0 - 31. */
-               return copy_regset_to_user(child,
-                                          task_user_regset_view(current), 0,
-                                          0, 32 * sizeof(compat_long_t),
-                                          compat_ptr(data));
-
-       case PPC_PTRACE_SETREGS:        /* Set GPRs 0 - 31. */
-               return copy_regset_from_user(child,
-                                            task_user_regset_view(current), 0,
-                                            0, 32 * sizeof(compat_long_t),
-                                            compat_ptr(data));
-       }
-
-       return -EPERM;
-}
-
 /* Macros to workout the correct index for the FPR in the thread struct */
 #define FPRNUMBER(i) (((i) - PT_FPR0) >> 1)
 #define FPRHALF(i) (((i) - PT_FPR0) & 1)
@@ -308,8 +284,6 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
        case PTRACE_SETVSRREGS:
        case PTRACE_GETREGS64:
        case PTRACE_SETREGS64:
-       case PPC_PTRACE_GETFPREGS:
-       case PPC_PTRACE_SETFPREGS:
        case PTRACE_KILL:
        case PTRACE_SINGLESTEP:
        case PTRACE_DETACH:
@@ -322,12 +296,6 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,
                ret = arch_ptrace(child, request, addr, data);
                break;
 
-       /* Old reverse args ptrace callss */
-       case PPC_PTRACE_GETREGS: /* Get GPRs 0 - 31. */
-       case PPC_PTRACE_SETREGS: /* Set GPRs 0 - 31. */
-               ret = compat_ptrace_old(child, request, addr, data);
-               break;
-
        default:
                ret = compat_ptrace_request(child, request, addr, data);
                break;