Re: [PATCH v5 5/6] dax: fix missing writeprotect the pte entry

2022-03-22 Thread Muchun Song
On Tue, Mar 22, 2022 at 4:37 PM Christoph Hellwig wrote: > > > +static void dax_entry_mkclean(struct address_space *mapping, unsigned long > > pfn, > > + unsigned long npfn, pgoff_t start) > > { > > struct vm_area_struct *vma; > > + pgoff_t end = start + npfn

Re: [PATCH v5 5/6] dax: fix missing writeprotect the pte entry

2022-03-22 Thread Christoph Hellwig
> +static void dax_entry_mkclean(struct address_space *mapping, unsigned long > pfn, > + unsigned long npfn, pgoff_t start) > { > struct vm_area_struct *vma; > + pgoff_t end = start + npfn - 1; > > i_mmap_lock_read(mapping); > +

[PATCH v5 5/6] dax: fix missing writeprotect the pte entry

2022-03-18 Thread Muchun Song
Currently dax_mapping_entry_mkclean() fails to clean and write protect the pte entry within a DAX PMD entry during an *sync operation. This can result in data loss in the following sequence: 1) process A mmap write to DAX PMD, dirtying PMD radix tree entry and making the pmd entry dirty