[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120223121805.GB2196@bandura.brq.redhat.com>
Date: Thu, 23 Feb 2012 13:18:05 +0100
From: Anton Arapov <anton@...hat.com>
To: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@...e.hu>, Peter Zijlstra <peterz@...radead.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Oleg Nesterov <oleg@...hat.com>,
LKML <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@...radead.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
Masami Hiramatsu <masami.hiramatsu.pt@...achi.com>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>,
Jim Keniston <jkenisto@...ux.vnet.ibm.com>,
Jiri Olsa <jolsa@...hat.com>, Josh Stone <jistone@...hat.com>
Subject: Re: [PATCH] uprobes/core: handle breakpoint and signal step
exception.
a super minor comment below.
On Thu, Feb 23, 2012 at 04:32:45PM +0530, Srikar Dronamraju wrote:
> From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
>
> Uprobes uses exception notifiers to get to know if a thread hit a
> breakpoint or singlestep exception.
>
[snip]
> ---
> arch/x86/include/asm/thread_info.h | 2
> arch/x86/include/asm/uprobes.h | 16 ++
> arch/x86/kernel/signal.c | 6 +
> arch/x86/kernel/uprobes.c | 275 +++++++++++++++++++++++++++++++++++
> include/linux/sched.h | 4 +
> include/linux/uprobes.h | 44 ++++++
> kernel/events/uprobes.c | 279 ++++++++++++++++++++++++++++++++++++
> kernel/fork.c | 7 +
> kernel/signal.c | 6 +
> 9 files changed, 629 insertions(+), 10 deletions(-)
>
[snip]
> +static void handler_chain(struct uprobe *uprobe, struct pt_regs *regs)
> +{
> + struct uprobe_consumer *consumer;
> +
> + if (!(uprobe->flags & UPROBES_RUN_HANDLER))
> + return;
> +
> + down_read(&uprobe->consumer_rwsem);
> + consumer = uprobe->consumers;
The line above is not needed, looks like a leftover. Perhaps Ingo can
cut it before commit.
> + for (consumer = uprobe->consumers; consumer; consumer = consumer->next) {
> + if (!consumer->filter || consumer->filter(consumer, current))
> + consumer->handler(consumer, regs);
> + }
> + up_read(&uprobe->consumer_rwsem);
> +}
> +
> /* Returns the previous consumer */
> static struct uprobe_consumer *
> consumer_add(struct uprobe *uprobe, struct uprobe_consumer *consumer)
[snip]
Anton.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists