|
@@ -869,7 +869,7 @@ int do_huge_pmd_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
|
|
|
flags);
|
|
|
}
|
|
|
|
|
|
-static int insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
|
|
|
+static void insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
|
|
|
pmd_t *pmd, unsigned long pfn, pgprot_t prot, bool write)
|
|
|
{
|
|
|
struct mm_struct *mm = vma->vm_mm;
|
|
@@ -887,7 +887,6 @@ static int insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
|
|
|
update_mmu_cache_pmd(vma, addr, pmd);
|
|
|
}
|
|
|
spin_unlock(ptl);
|
|
|
- return VM_FAULT_NOPAGE;
|
|
|
}
|
|
|
|
|
|
int vmf_insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
|
|
@@ -909,7 +908,8 @@ int vmf_insert_pfn_pmd(struct vm_area_struct *vma, unsigned long addr,
|
|
|
return VM_FAULT_SIGBUS;
|
|
|
if (track_pfn_insert(vma, &pgprot, pfn))
|
|
|
return VM_FAULT_SIGBUS;
|
|
|
- return insert_pfn_pmd(vma, addr, pmd, pfn, pgprot, write);
|
|
|
+ insert_pfn_pmd(vma, addr, pmd, pfn, pgprot, write);
|
|
|
+ return VM_FAULT_NOPAGE;
|
|
|
}
|
|
|
|
|
|
int copy_huge_pmd(struct mm_struct *dst_mm, struct mm_struct *src_mm,
|