diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-08-04 13:39:21 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-08-04 13:39:21 +0900 |
commit | 662ae2169a16004700cc18c1898aead2e5e944d5 (patch) | |
tree | 5f273f59762fc88be976516e474e7a77022c6758 /arch | |
parent | d4ac2477fad0f2680e84ec12e387ce67682c5c13 (diff) | |
download | op-kernel-dev-662ae2169a16004700cc18c1898aead2e5e944d5.zip op-kernel-dev-662ae2169a16004700cc18c1898aead2e5e944d5.tar.gz |
sh: Fix PTRACE_PEEKTEXT/PEEKDATA fallout from generic_ptrace_peekdata().
When generic_ptrace_peekdata() was merged, the break for these cases
ended up getting dropped, which lead to each PEEKTEXT/PEEKDATA op leaking
in to PEEKUSR and get_user_pages() always -EFAULTing. Add the break back
in.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/kernel/ptrace.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index 891d1d4..f64a2d2 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c @@ -93,6 +93,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) case PTRACE_PEEKTEXT: /* read word at location addr. */ case PTRACE_PEEKDATA: ret = generic_ptrace_peekdata(child, addr, data); + break; /* read the word at location addr in the USER area. */ case PTRACE_PEEKUSR: { |