summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/hw_breakpoint.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-12-01 16:39:08 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-12-01 16:39:08 +0900
commitfa3c9f3de2504bb09f8ad512f89837751a3eb741 (patch)
tree656df0e4ea62d1c5a45bb7bfd1b4714f4936d63b /arch/x86/kernel/hw_breakpoint.c
parent193006f7e3b1abd42d7a3677b54fa2996461a842 (diff)
parent55661fc1f105ed75852e937bf8ea408270eb0cca (diff)
downloadtalos-op-linux-fa3c9f3de2504bb09f8ad512f89837751a3eb741.tar.gz
talos-op-linux-fa3c9f3de2504bb09f8ad512f89837751a3eb741.zip
Merge branch 'sh/cachetlb' into sh-fixes-for-linus
Diffstat (limited to 'arch/x86/kernel/hw_breakpoint.c')
-rw-r--r--arch/x86/kernel/hw_breakpoint.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c
index ff15c9dcc25d..42c594254507 100644
--- a/arch/x86/kernel/hw_breakpoint.c
+++ b/arch/x86/kernel/hw_breakpoint.c
@@ -433,6 +433,10 @@ static int __kprobes hw_breakpoint_handler(struct die_args *args)
dr6_p = (unsigned long *)ERR_PTR(args->err);
dr6 = *dr6_p;
+ /* If it's a single step, TRAP bits are random */
+ if (dr6 & DR_STEP)
+ return NOTIFY_DONE;
+
/* Do an early return if no trap bits are set in DR6 */
if ((dr6 & DR_TRAP_BITS) == 0)
return NOTIFY_DONE;
OpenPOWER on IntegriCloud