Re: [RFC PATCH 1/4] uprobes: use set_pte_at() not set_pte_at_notify()

2019-02-11 Thread Jerome Glisse
Background we are discussing __replace_page() in: kernel/events/uprobes.c and wether this can be call on page that can be written too through its virtual address mapping. On Fri, Feb 01, 2019 at 07:50:22PM -0500, Andrea Arcangeli wrote: > On Thu, Jan 31, 2019 at 01:37:03PM -0500, Jerome Gliss

Re: [RFC PATCH 1/4] uprobes: use set_pte_at() not set_pte_at_notify()

2019-02-01 Thread Andrea Arcangeli
On Thu, Jan 31, 2019 at 01:37:03PM -0500, Jerome Glisse wrote: > @@ -207,8 +207,7 @@ static int __replace_page(struct vm_area_struct *vma, > unsigned long addr, > > flush_cache_page(vma, addr, pte_pfn(*pvmw.pte)); > ptep_clear_flush_notify(vma, addr, pvmw.pte); > - set_pte_at_not

[RFC PATCH 1/4] uprobes: use set_pte_at() not set_pte_at_notify()

2019-01-31 Thread jglisse
From: Jérôme Glisse Using set_pte_at_notify() trigger useless calls to change_pte() so just use set_pte_at() instead. The reason is that set_pte_at_notify() should only be use when going from either a read and write pte to read only pte with same pfn, or from read only to read and write with a di