Messages in this thread | | | Subject | Re: [RFC v8 PATCH 2/5] uprobes: introduce has_uprobes helper | From | Yang Shi <> | Date | Thu, 23 Aug 2018 09:07:43 -0700 |
| |
On 8/23/18 8:15 AM, Oleg Nesterov wrote: > On 08/22, Srikar Dronamraju wrote: >> * Vlastimil Babka <vbabka@suse.cz> [2018-08-22 12:55:59]: >> >>> On 08/15/2018 08:49 PM, Yang Shi wrote: >>>> We need check if mm or vma has uprobes in the following patch to check >>>> if a vma could be unmapped with holding read mmap_sem. > Confused... why can't we call uprobe_munmap() under read_lock(mmap_sem) ?
I'm not sure if it is safe or not because it is not recommended and not safe to update vma's vm flags with read mmap_sem. uprobe_munmap() may update mm flags (MMF_RECALC_UPROBES). So, it sounds safer to not call it under read mmap_sem.
> > OK, it can race with find_active_uprobe() but I do not see anything really > wrong, and a false-positive MMF_RECALC_UPROBES is fine.
Thanks for confirming this. If it is ok to have such race, we don't have to have has_uprobes() helper anymore since it can be just called under read mmap_sem without any special handling.
Yang
> > Again, I think we should simply kill uprobe_munmap(), but this needs another > discussion. > > Oleg.
| |