Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fe20d71f authored by Oleg Nesterov's avatar Oleg Nesterov
Browse files

uprobes: Kill uprobe_consumer->filter()



uprobe_consumer->filter() is pointless in its current form, kill it.

We will add it back, but with the different signature/semantics. Perhaps
we will even re-introduce the callsite in handler_chain(), but not to
just skip uc->handler().

Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Acked-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
parent f0744af7
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -37,11 +37,6 @@ struct inode;

struct uprobe_consumer {
	int (*handler)(struct uprobe_consumer *self, struct pt_regs *regs);
	/*
	 * filter is optional; If a filter exists, handler is run
	 * if and only if filter returns true.
	 */
	bool (*filter)(struct uprobe_consumer *self, struct task_struct *task);

	struct uprobe_consumer *next;
};
+2 −4
Original line number Diff line number Diff line
@@ -477,10 +477,8 @@ static void handler_chain(struct uprobe *uprobe, struct pt_regs *regs)
		return;

	down_read(&uprobe->consumer_rwsem);
	for (uc = uprobe->consumers; uc; uc = uc->next) {
		if (!uc->filter || uc->filter(uc, current))
	for (uc = uprobe->consumers; uc; uc = uc->next)
		uc->handler(uc, regs);
	}
	up_read(&uprobe->consumer_rwsem);
}

+0 −1
Original line number Diff line number Diff line
@@ -550,7 +550,6 @@ static int probe_event_enable(struct trace_uprobe *tu, int flag)
		return -EINTR;

	utc->cons.handler = uprobe_dispatcher;
	utc->cons.filter = NULL;
	ret = uprobe_register(tu->inode, tu->offset, &utc->cons);
	if (ret) {
		kfree(utc);