Messages in this thread |  | | Date | Tue, 8 Jan 2013 18:44:47 +0100 | From | Oleg Nesterov <> | Subject | Re: [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.
|  |