I added this on top of your patch to make it compile (and look a little nicer).
With that, bptest worked nicely.

---
 arch/i386/kernel/kprobes.c |   19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

Index: b/arch/i386/kernel/kprobes.c
===================================================================
--- a/arch/i386/kernel/kprobes.c
+++ b/arch/i386/kernel/kprobes.c
@@ -35,6 +35,7 @@
 #include <asm/cacheflush.h>
 #include <asm/desc.h>
 #include <asm/uaccess.h>
+#include <asm/debugreg.h>
 
 void jprobe_return_end(void);
 
@@ -660,16 +661,16 @@ int __kprobes kprobe_exceptions_notify(s
                        ret = NOTIFY_STOP;
                break;
        case DIE_DEBUG:
-
-       /* The DR6 value is stored in args->err */
-#define DR6    (args->err)
-
-               if ((DR6 & DR_STEP) && post_kprobe_handler(args->regs)) {
-                       if ((DR6 & ~DR_STEP) == 0)
-                               ret = NOTIFY_STOP;
-               }
+               /*
+                * The %db6 value is stored in args->err.
+                * If DR_STEP is the only bit set and it's ours,
+                * we should eat this exception.
+                */
+               if ((args->err & DR_STEP) &&
+                   post_kprobe_handler(args->regs) &&
+                   (args->err & ~DR_STEP) == 0)
+                       ret = NOTIFY_STOP;
                break;
-#undef DR6
 
        case DIE_GPF:
        case DIE_PAGE_FAULT:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to