aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/dax.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/fs/dax.c b/fs/dax.c
index f32d7125ad0f..b68ce484e1be 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1120,21 +1120,12 @@ static vm_fault_t dax_load_hole(struct address_space *mapping, void *entry,
1120{ 1120{
1121 struct inode *inode = mapping->host; 1121 struct inode *inode = mapping->host;
1122 unsigned long vaddr = vmf->address; 1122 unsigned long vaddr = vmf->address;
1123 vm_fault_t ret = VM_FAULT_NOPAGE; 1123 pfn_t pfn = pfn_to_pfn_t(my_zero_pfn(vaddr));
1124 struct page *zero_page; 1124 vm_fault_t ret;
1125 pfn_t pfn;
1126
1127 zero_page = ZERO_PAGE(0);
1128 if (unlikely(!zero_page)) {
1129 ret = VM_FAULT_OOM;
1130 goto out;
1131 }
1132 1125
1133 pfn = page_to_pfn_t(zero_page);
1134 dax_insert_mapping_entry(mapping, vmf, entry, pfn, RADIX_DAX_ZERO_PAGE, 1126 dax_insert_mapping_entry(mapping, vmf, entry, pfn, RADIX_DAX_ZERO_PAGE,
1135 false); 1127 false);
1136 ret = vmf_insert_mixed(vmf->vma, vaddr, pfn); 1128 ret = vmf_insert_mixed(vmf->vma, vaddr, pfn);
1137out:
1138 trace_dax_load_hole(inode, vmf, ret); 1129 trace_dax_load_hole(inode, vmf, ret);
1139 return ret; 1130 return ret;
1140} 1131}