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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to