diff options
author | Jan Kara <jack@suse.cz> | 2016-12-14 18:07:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-14 19:04:09 -0500 |
commit | fe82221f57ea6840a4238a8e077e3f93f257a03f (patch) | |
tree | 82091548e178d6b3b32f436354057e6e1779fb9a /mm/memory.c | |
parent | 936ca80d3773bd9b6dda8a0dfd54425f9ec1be9d (diff) |
mm: use passed vm_fault structure for in wp_pfn_shared()
Instead of creating another vm_fault structure, use the one passed to
wp_pfn_shared() for passing arguments into pfn_mkwrite handler.
Link: http://lkml.kernel.org/r/1479460644-25076-7-git-send-email-jack@suse.cz
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/mm/memory.c b/mm/memory.c index 78b81e8984df..7ba9cc58dddd 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) | |||
2273 | struct vm_area_struct *vma = vmf->vma; | 2273 | struct vm_area_struct *vma = vmf->vma; |
2274 | 2274 | ||
2275 | if (vma->vm_ops && vma->vm_ops->pfn_mkwrite) { | 2275 | if (vma->vm_ops && vma->vm_ops->pfn_mkwrite) { |
2276 | struct vm_fault vmf2 = { | ||
2277 | .page = NULL, | ||
2278 | .pgoff = vmf->pgoff, | ||
2279 | .address = vmf->address, | ||
2280 | .flags = FAULT_FLAG_WRITE | FAULT_FLAG_MKWRITE, | ||
2281 | }; | ||
2282 | int ret; | 2276 | int ret; |
2283 | 2277 | ||
2284 | pte_unmap_unlock(vmf->pte, vmf->ptl); | 2278 | pte_unmap_unlock(vmf->pte, vmf->ptl); |
2285 | ret = vma->vm_ops->pfn_mkwrite(vma, &vmf2); | 2279 | vmf->flags |= FAULT_FLAG_MKWRITE; |
2280 | ret = vma->vm_ops->pfn_mkwrite(vma, vmf); | ||
2286 | if (ret & VM_FAULT_ERROR) | 2281 | if (ret & VM_FAULT_ERROR) |
2287 | return ret; | 2282 | return ret; |
2288 | vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, | 2283 | vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, |