Re: [PATCH v5 3.1.0-rc4-tip 9/26] Uprobes: Background pagereplacement.

From: Srikar Dronamraju
Date: Thu Oct 06 2011 - 03:10:55 EST


* Oleg Nesterov <oleg@xxxxxxxxxx> [2011-10-05 18:19:14]:

> On 09/20, Srikar Dronamraju wrote:
> >
> > +int __weak read_opcode(struct task_struct *tsk, unsigned long vaddr,
> > + uprobe_opcode_t *opcode)
> > +{
> > + struct vm_area_struct *vma;
> > + struct page *page;
> > + void *vaddr_new;
> > + int ret;
> > +
> > + ret = get_user_pages(tsk, tsk->mm, vaddr, 1, 0, 0, &page, &vma);
> > + if (ret <= 0)
> > + return ret;
> > + ret = -EINVAL;
> > +
> > + /*
> > + * We are interested in text pages only. Our pages of interest
> > + * should be mapped for read and execute only. We desist from
> > + * adding probes in write mapped pages since the breakpoints
> > + * might end up in the file copy.
> > + */
> > + if (!valid_vma(vma))
> > + goto put_out;
>
> Another case when valid_vma() looks suspicious. We are going to restore
> the original instruction. We shouldn't fail (at least we shouldn't "leak"
> ->mm_uprobes_count) if ->vm_flags was changed between register_uprobe()
> and unregister_uprobe().
>

Agree.

--
Thanks and Regards
Srikar
--
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/