diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2010-05-31 12:59:19 +0900 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2010-05-31 12:59:19 +0900 |
| commit | 8fa76f7e61ef4e5bc97207143ea4e198b22487bc (patch) | |
| tree | 266c42b6687e68e4febb72d8c031e5facd899a1c /kernel/ptrace.c | |
| parent | a41a7b91772da2c77ac0da74285fd8ebd86a85ba (diff) | |
| parent | 67a3e12b05e055c0415c556a315a3d3eb637e29e (diff) | |
| download | cachepc-linux-8fa76f7e61ef4e5bc97207143ea4e198b22487bc.tar.gz cachepc-linux-8fa76f7e61ef4e5bc97207143ea4e198b22487bc.zip | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'kernel/ptrace.c')
| -rw-r--r-- | kernel/ptrace.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 6af9cdd558b7..74a3d693c196 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -594,6 +594,32 @@ int ptrace_request(struct task_struct *child, long request, ret = ptrace_detach(child, data); break; +#ifdef CONFIG_BINFMT_ELF_FDPIC + case PTRACE_GETFDPIC: { + struct mm_struct *mm = get_task_mm(child); + unsigned long tmp = 0; + + ret = -ESRCH; + if (!mm) + break; + + switch (addr) { + case PTRACE_GETFDPIC_EXEC: + tmp = mm->context.exec_fdpic_loadmap; + break; + case PTRACE_GETFDPIC_INTERP: + tmp = mm->context.interp_fdpic_loadmap; + break; + default: + break; + } + mmput(mm); + + ret = put_user(tmp, (unsigned long __user *) data); + break; + } +#endif + #ifdef PTRACE_SINGLESTEP case PTRACE_SINGLESTEP: #endif |
