Re: [PATCH v9 03/10] mm/rmap: Split try_to_munlock from try_to_unmap
From: Shakeel Butt <hidden>
Date: 2021-06-05 04:20:38
Also in:
dri-devel, linux-doc, lkml, nouveau
From: Shakeel Butt <hidden>
Date: 2021-06-05 04:20:38
Also in:
dri-devel, linux-doc, lkml, nouveau
On Fri, Jun 4, 2021 at 8:39 PM Liam Howlett [off-list ref] wrote:
quoted
Particularly the following paragraph: ... Vlastimil Babka points out another race which this patch protects against. try_to_unmap_one() might reach its mlock_vma_page() TestSetPageMlocked a moment after munlock_vma_pages_all() did its Phase 1 TestClearPageMlocked: leaving PageMlocked and unevictable when it should be evictable. mmap_sem is ineffective because exit_mmap() does not hold it; page lock ineffective because __munlock_pagevec() only takes it afterwards, in Phase 2; pte lock is effective because __munlock_pagevec_fill() takes it to get the page, after VM_LOCKED was cleared from vm_flags, so visible to try_to_unmap_one. ...So this is saying the race with exit_mmap() isn't benign after all?
Yes, not benign at all.