Re: [PATCH 5/7] uprobes: Fix utask->xol_vaddr leak in pre_ssout()

From: Oleg Nesterov
Date: Tue Jan 08 2013 - 12:45:31 EST


On 01/08, Srikar Dronamraju wrote:
>
> * Oleg Nesterov <oleg@xxxxxxxxxx> [2012-12-31 18:52:26]:
>
> > pre_ssout() should do xol_free_insn_slot() if arch_uprobe_pre_xol()
> > fails, otherwise nobody will free the allocated slot.
> >
> > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> Acked-by: Srikar Dronamraju <srikar@xxxxxxxxxxxxxxxxxx>

Thanks!

> (one nit below)
> ...
> > @@ -1316,7 +1317,13 @@ pre_ssout(struct uprobe *uprobe, struct pt_regs *regs, unsigned long bp_vaddr)
> > utask->xol_vaddr = xol_vaddr;
> > utask->vaddr = bp_vaddr;
> >
> > - return arch_uprobe_pre_xol(&uprobe->arch, regs);
> > + err = arch_uprobe_pre_xol(&uprobe->arch, regs);
> > + if (unlikely(err)) {
> > + xol_free_insn_slot(current);
> > + return err;
> > + }
> > +
> > + return 0;
> > }
>
> Nit: we could reduce a line or two with
>
> err = arch_uprobe_pre_xol(&uprobe->arch, regs);
> if (unlikely(err))
> xol_free_insn_slot(current);
>
> return err;

Yes, but this is also preparation for the next patch which adds more
code after arch_uprobe_pre_xol() == 0.

Oleg.

--
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/