Re: [RFC PATCH v2 4/4] uretprobes: invoke return probe handlers

From: Anton Arapov
Date: Thu Jan 10 2013 - 06:42:56 EST


On Wed, Jan 09, 2013 at 05:28:42PM +0100, Oleg Nesterov wrote:
> On 01/09, Anton Arapov wrote:
> >
> > static void handle_swbp(struct pt_regs *regs)
> > {
> > struct uprobe *uprobe;
> > + struct xol_area *area;
> > unsigned long bp_vaddr;
> > int uninitialized_var(is_swbp);
> >
> > bp_vaddr = uprobe_get_swbp_addr(regs);
> > - uprobe = find_active_uprobe(bp_vaddr, &is_swbp);
> > + area = get_xol_area();
>
> No, we do not need to allocate xol area here.
>
> > + if (area) {
> > + if (bp_vaddr == area->vaddr) {
> > + handle_rp_swbp(regs);
>
> Can't understand... this should check bp_vaddr == rp_trampoline_vaddr ?
>
> Again, unless you remove rp_trampoline_vaddr altogether.

yeah, forgot to correct this chunk before I sent it here. I was working on
xol_get_trampoline_slot removal as you suggested.

thanks for valuable comments, seems you are okay with approach to add
rp_handler into uprobe_consumer struct.

Anton.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/