lkml.org 
[lkml]   [2010]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 08/43] ptrace, arm: cleanup arch_ptrace()
    Date
    use new 'datap' variable type of void pointer in order to remove unnecessary
    castings.

    Signed-off-by: Namhyung Kim <namhyung@gmail.com>
    Cc: Russell King <linux@arm.linux.org.uk>
    ---
    arch/arm/kernel/ptrace.c | 33 +++++++++++++++++++--------------
    1 files changed, 19 insertions(+), 14 deletions(-)

    diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c
    index 87ca2c7..4be8a58 100644
    --- a/arch/arm/kernel/ptrace.c
    +++ b/arch/arm/kernel/ptrace.c
    @@ -851,10 +851,11 @@ long arch_ptrace(struct task_struct *child, long request,
    unsigned long addr, unsigned long data)
    {
    int ret;
    + void __user *datap = (void __user *) data;

    switch (request) {
    case PTRACE_PEEKUSR:
    - ret = ptrace_read_user(child, addr, (unsigned long __user *)data);
    + ret = ptrace_read_user(child, addr, datap);
    break;

    case PTRACE_POKEUSR:
    @@ -862,35 +863,39 @@ long arch_ptrace(struct task_struct *child, long request,
    break;

    case PTRACE_GETREGS:
    - ret = ptrace_getregs(child, (void __user *)data);
    + ret = ptrace_getregs(child, datap);
    break;

    case PTRACE_SETREGS:
    - ret = ptrace_setregs(child, (void __user *)data);
    + ret = ptrace_setregs(child, datap);
    break;

    case PTRACE_GETFPREGS:
    - ret = ptrace_getfpregs(child, (void __user *)data);
    + ret = ptrace_getfpregs(child, datap);
    break;

    case PTRACE_SETFPREGS:
    - ret = ptrace_setfpregs(child, (void __user *)data);
    + ret = ptrace_setfpregs(child, datap);
    break;

    #ifdef CONFIG_IWMMXT
    case PTRACE_GETWMMXREGS:
    - ret = ptrace_getwmmxregs(child, (void __user *)data);
    + ret = ptrace_getwmmxregs(child, datap);
    break;

    case PTRACE_SETWMMXREGS:
    - ret = ptrace_setwmmxregs(child, (void __user *)data);
    + ret = ptrace_setwmmxregs(child, datap);
    break;
    #endif

    - case PTRACE_GET_THREAD_AREA:
    - ret = put_user(task_thread_info(child)->tp_value,
    - (unsigned long __user *) data);
    + case PTRACE_GET_THREAD_AREA: {
    + unsigned long tpval;
    + tpval = task_thread_info(child)->tp_value;
    +
    + ret = copy_to_user(datap, &tpval, sizeof(tpval)) ?
    + -EFAULT : 0;
    break;
    + }

    case PTRACE_SET_SYSCALL:
    task_thread_info(child)->syscall = data;
    @@ -899,21 +904,21 @@ long arch_ptrace(struct task_struct *child, long request,

    #ifdef CONFIG_CRUNCH
    case PTRACE_GETCRUNCHREGS:
    - ret = ptrace_getcrunchregs(child, (void __user *)data);
    + ret = ptrace_getcrunchregs(child, datap);
    break;

    case PTRACE_SETCRUNCHREGS:
    - ret = ptrace_setcrunchregs(child, (void __user *)data);
    + ret = ptrace_setcrunchregs(child, datap);
    break;
    #endif

    #ifdef CONFIG_VFP
    case PTRACE_GETVFPREGS:
    - ret = ptrace_getvfpregs(child, (void __user *)data);
    + ret = ptrace_getvfpregs(child, datap);
    break;

    case PTRACE_SETVFPREGS:
    - ret = ptrace_setvfpregs(child, (void __user *)data);
    + ret = ptrace_setvfpregs(child, datap);
    break;
    #endif

    --
    1.7.2.2


    \
     
     \ /
      Last update: 2010-08-27 11:53    [W:0.026 / U:62.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site