aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/uprobes.h5
-rw-r--r--kernel/events/uprobes.c6
-rw-r--r--kernel/trace/trace_uprobe.c1
3 files changed, 2 insertions, 10 deletions
diff --git a/include/linux/uprobes.h b/include/linux/uprobes.h
index 4f628a6fc5b4..83742b91ff73 100644
--- a/include/linux/uprobes.h
+++ b/include/linux/uprobes.h
@@ -37,11 +37,6 @@ struct inode;
37 37
38struct uprobe_consumer { 38struct uprobe_consumer {
39 int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs); 39 int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs);
40 /*
41 * filter is optional; If a filter exists, handler is run
42 * if and only if filter returns true.
43 */
44 bool (*filter)(struct uprobe_consumer *self, struct task_struct *task);
45 40
46 struct uprobe_consumer *next; 41 struct uprobe_consumer *next;
47}; 42};
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index a39d8163b713..5cbebac27c01 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -477,10 +477,8 @@ static void handler_chain(struct uprobe *uprobe, struct pt_regs *regs)
477 return; 477 return;
478 478
479 down_read(&uprobe->consumer_rwsem); 479 down_read(&uprobe->consumer_rwsem);
480 for (uc = uprobe->consumers; uc; uc = uc->next) { 480 for (uc = uprobe->consumers; uc; uc = uc->next)
481 if (!uc->filter || uc->filter(uc, current)) 481 uc->handler(uc, regs);
482 uc->handler(uc, regs);
483 }
484 up_read(&uprobe->consumer_rwsem); 482 up_read(&uprobe->consumer_rwsem);
485} 483}
486 484
diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
index 87b6db4ccbc5..e668024773d4 100644
--- a/kernel/trace/trace_uprobe.c
+++ b/kernel/trace/trace_uprobe.c
@@ -550,7 +550,6 @@ static int probe_event_enable(struct trace_uprobe *tu, int flag)
550 return -EINTR; 550 return -EINTR;
551 551
552 utc->cons.handler = uprobe_dispatcher; 552 utc->cons.handler = uprobe_dispatcher;
553 utc->cons.filter = NULL;
554 ret = uprobe_register(tu->inode, tu->offset, &utc->cons); 553 ret = uprobe_register(tu->inode, tu->offset, &utc->cons);
555 if (ret) { 554 if (ret) {
556 kfree(utc); 555 kfree(utc);