lkml.org 
[lkml]   [2009]   [Sep]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 26/72] Blackfin: add support for common FDPIC ptrace requests
    Date
    The FDPIC arches support a standard set of ptrace requests so rather than
    define our own custom API, hook up those requests for common code to
    leverage.

    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    ---
    arch/blackfin/kernel/ptrace.c | 26 ++++++++++++++++++++++++--
    1 files changed, 24 insertions(+), 2 deletions(-)

    diff --git a/arch/blackfin/kernel/ptrace.c b/arch/blackfin/kernel/ptrace.c
    index 271d7c6..30f4828 100644
    --- a/arch/blackfin/kernel/ptrace.c
    +++ b/arch/blackfin/kernel/ptrace.c
    @@ -285,9 +285,9 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
    tmp = child->mm->start_data;
    #ifdef CONFIG_BINFMT_ELF_FDPIC
    } else if (addr == (sizeof(struct pt_regs) + 12)) {
    - tmp = child->mm->context.exec_fdpic_loadmap;
    + goto case_PTRACE_GETFDPIC_EXEC;
    } else if (addr == (sizeof(struct pt_regs) + 16)) {
    - tmp = child->mm->context.interp_fdpic_loadmap;
    + goto case_PTRACE_GETFDPIC_INTERP;
    #endif
    } else {
    tmp = get_reg(child, addr);
    @@ -296,6 +296,28 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
    break;
    }

    +#ifdef CONFIG_BINFMT_ELF_FDPIC
    + case PTRACE_GETFDPIC: {
    + unsigned long tmp = 0;
    +
    + switch (addr) {
    + case_PTRACE_GETFDPIC_EXEC:
    + case PTRACE_GETFDPIC_EXEC:
    + tmp = child->mm->context.exec_fdpic_loadmap;
    + break;
    + case_PTRACE_GETFDPIC_INTERP:
    + case PTRACE_GETFDPIC_INTERP:
    + tmp = child->mm->context.interp_fdpic_loadmap;
    + break;
    + default:
    + break;
    + }
    +
    + ret = put_user(tmp, datap);
    + break;
    + }
    +#endif
    +
    /* when I and D space are separate, this will have to be fixed. */
    case PTRACE_POKEDATA:
    pr_debug("ptrace: PTRACE_PEEKDATA\n");
    --
    1.6.4.2


    \
     
     \ /
      Last update: 2009-09-14 22:45    [W:0.025 / U:0.376 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site