Messages in this thread | | | Date | Thu, 21 Mar 2019 16:31:47 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] mm: page_mkclean vs MADV_DONTNEED race |
| |
On Thu, 21 Mar 2019 09:36:10 +0530 "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> wrote:
> MADV_DONTNEED is handled with mmap_sem taken in read mode. > We call page_mkclean without holding mmap_sem. > > MADV_DONTNEED implies that pages in the region are unmapped and subsequent > access to the pages in that range is handled as a new page fault. > This implies that if we don't have parallel access to the region when > MADV_DONTNEED is run we expect those range to be unallocated. > > w.r.t page_mkclean we need to make sure that we don't break the MADV_DONTNEED > semantics. MADV_DONTNEED check for pmd_none without holding pmd_lock. > This implies we skip the pmd if we temporarily mark pmd none. Avoid doing > that while marking the page clean. > > Keep the sequence same for dax too even though we don't support MADV_DONTNEED > for dax mapping
What were the runtime effects of the bug?
Did you consider a -stable backport?
| |