Messages in this thread | | | Date | Thu, 23 Feb 2012 13:18:05 +0100 | From | Anton Arapov <> | 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@linux.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.
| |