summaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorIngo Molnar2010-11-18 10:37:51 +0100
committerIngo Molnar2010-11-18 10:37:51 +0100
commitfcf48a725a176ba12aa7be64c50190deaa2f86df (patch)
tree5d611ba5b1eb4dd821c93ca2f9d08078b563305a /arch/x86
parentx86, hw_nmi: Move backtrace_mask declaration under ARCH_HAS_NMI_WATCHDOG (diff)
parentperf,hw_breakpoint: Initialize hardware api earlier (diff)
downloadkernel-qcow2-linux-fcf48a725a176ba12aa7be64c50190deaa2f86df.tar.gz
kernel-qcow2-linux-fcf48a725a176ba12aa7be64c50190deaa2f86df.tar.xz
kernel-qcow2-linux-fcf48a725a176ba12aa7be64c50190deaa2f86df.zip
Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent
Diffstat (limited to 'arch/x86')
-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;