Instead of creating another vm_fault structure, use the one passed to
wp_pfn_shared() for passing arguments into pfn_mkwrite handler.

Signed-off-by: Jan Kara <j...@suse.cz>
---
 mm/memory.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/mm/memory.c b/mm/memory.c
index ba7760fb7db2..48de8187d7b2 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2273,16 +2273,11 @@ static int wp_pfn_shared(struct vm_fault *vmf, pte_t 
orig_pte)
        struct vm_area_struct *vma = vmf->vma;
 
        if (vma->vm_ops && vma->vm_ops->pfn_mkwrite) {
-               struct vm_fault vmf2 = {
-                       .page = NULL,
-                       .pgoff = vmf->pgoff,
-                       .virtual_address = vmf->address & PAGE_MASK,
-                       .flags = FAULT_FLAG_WRITE | FAULT_FLAG_MKWRITE,
-               };
                int ret;
 
                pte_unmap_unlock(vmf->pte, vmf->ptl);
-               ret = vma->vm_ops->pfn_mkwrite(vma, &vmf2);
+               vmf->flags |= FAULT_FLAG_MKWRITE;
+               ret = vma->vm_ops->pfn_mkwrite(vma, vmf);
                if (ret & VM_FAULT_ERROR)
                        return ret;
                vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd,
-- 
2.6.6

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to