diff options
-rw-r--r-- | include/linux/uprobes.h | 5 | ||||
-rw-r--r-- | kernel/events/uprobes.c | 6 | ||||
-rw-r--r-- | kernel/trace/trace_uprobe.c | 1 |
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 | ||
38 | struct uprobe_consumer { | 38 | struct 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); |