lkml.org 
[lkml]   [2013]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 5/7] uprobes: Fix utask->xol_vaddr leak in pre_ssout()
On 01/08, Srikar Dronamraju wrote:
>
> * Oleg Nesterov <oleg@redhat.com> [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@redhat.com>
>
> Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>

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.



\
 
 \ /
  Last update: 2013-01-08 19:21    [W:0.056 / U:0.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site