commit: fb7f045ace0624f1e59a7db8497e460bd54b1cbc
From: David Engraf <[email protected]>
Date: Wed, 23 Mar 2011 11:35:42 +0000
Subject: [PATCH] sh: Fix ptrace hw_breakpoint handling

Since commit 34d0b5af50a063cded842716633501b38ff815fb it is no longer
possible to debug an application using singlestep. The old commit
converted singlestep handling via ptrace to hw_breakpoints. The
hw_breakpoint is disabled when an event is triggered and not re-enabled
again. This patch re-enables the existing hw_breakpoint before the
existing breakpoint is reused.

Signed-off-by: David Engraf <[email protected]>
Cc: [email protected]
Signed-off-by: Paul Mundt <[email protected]>
---
 arch/sh/kernel/ptrace_32.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c
index b53664e..2130ca6 100644
--- a/arch/sh/kernel/ptrace_32.c
+++ b/arch/sh/kernel/ptrace_32.c
@@ -101,6 +101,8 @@ static int set_single_step(struct task_struct *tsk, 
unsigned long addr)
 
                attr = bp->attr;
                attr.bp_addr = addr;
+               /* reenable breakpoint */
+               attr.disabled = false;
                err = modify_user_hw_breakpoint(bp, &attr);
                if (unlikely(err))
                        return err;

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to