[PATCH v6 3.2-rc1 14/28] uprobe: register exception notifier

From: Srikar Dronamraju
Date: Thu Nov 10 2011 - 14:05:34 EST



Use the notifier mechanism to register uprobes exception notifier.

Signed-off-by: Ananth N Mavinakayanahalli <ananth@xxxxxxxxxx>
Signed-off-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>
---
kernel/uprobes.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/kernel/uprobes.c b/kernel/uprobes.c
index 2461b20..c4ccb89 100644
--- a/kernel/uprobes.c
+++ b/kernel/uprobes.c
@@ -30,6 +30,7 @@
#include <linux/mmu_notifier.h> /* set_pte_at_notify */
#include <linux/swap.h> /* try_to_free_swap */
#include <linux/ptrace.h> /* user_enable_single_step */
+#include <linux/kdebug.h> /* notifier mechanism */
#include <linux/uprobes.h>

static bulkref_t uprobes_srcu;
@@ -1235,6 +1236,11 @@ int uprobe_post_notifier(struct pt_regs *regs)
return 1;
}

+struct notifier_block uprobe_exception_nb = {
+ .notifier_call = uprobe_exception_notify,
+ .priority = INT_MAX - 1, /* notified after kprobes, kgdb */
+};
+
static int __init init_uprobes(void)
{
int i;
@@ -1244,7 +1250,7 @@ static int __init init_uprobes(void)
mutex_init(&uprobes_mmap_mutex[i]);
}
init_bulkref(&uprobes_srcu);
- return 0;
+ return register_die_notifier(&uprobe_exception_nb);
}

static void __exit exit_uprobes(void)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/