From fca3a4042a735a6263f7014e3194aecc825ae690 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 18 Nov 2008 17:48:22 +0800 Subject: [PATCH] --- yaml --- r: 127031 b: refs/heads/master c: 8a86176c4aee493bf8eb1dce8190b2f63d70d130 h: refs/heads/master i: 127029: 92bd0d92294476f96906a94c7d51cce403b2463a 127027: 8ff617f2c13e726bf235eecabbac52499421777b 127023: 27dcb7f32398a74fc3e6c44d68a1cc0ad63b983b v: v3 --- [refs] | 2 +- trunk/arch/blackfin/kernel/ptrace.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 3a096207304b..e83a7f4fb703 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3c1fbd5184f9c3c52c0a392fae0efb0b0d99a079 +refs/heads/master: 8a86176c4aee493bf8eb1dce8190b2f63d70d130 diff --git a/trunk/arch/blackfin/kernel/ptrace.c b/trunk/arch/blackfin/kernel/ptrace.c index 4de44f387dd5..d5e6be2d5ed8 100644 --- a/trunk/arch/blackfin/kernel/ptrace.c +++ b/trunk/arch/blackfin/kernel/ptrace.c @@ -80,10 +80,12 @@ static inline struct pt_regs *get_user_regs(struct task_struct *task) /* * Get all user integer registers. */ -static inline int ptrace_getregs(struct task_struct *tsk, void __user * uregs) +static inline int ptrace_getregs(struct task_struct *tsk, void __user *uregs) { - struct pt_regs *regs = get_user_regs(tsk); - return copy_to_user(uregs, regs, sizeof(struct pt_regs)) ? -EFAULT : 0; + struct pt_regs regs; + memcpy(®s, get_user_regs(tsk), sizeof(regs)); + regs.usp = tsk->thread.usp; + return copy_to_user(uregs, ®s, sizeof(struct pt_regs)) ? -EFAULT : 0; } /* Mapping from PT_xxx to the stack offset at which the register is