mm: introduce mm_forbids_zeropage function
[firefly-linux-kernel-4.4.55.git] / mm / huge_memory.c
index 74c78aa8bc2fa68454928b09f34a7b97f3419e05..7e9c15cb93a9dd4a580d2d15a463f1030c941ff5 100644 (file)
@@ -805,7 +805,7 @@ int do_huge_pmd_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
                return VM_FAULT_OOM;
        if (unlikely(khugepaged_enter(vma)))
                return VM_FAULT_OOM;
-       if (!(flags & FAULT_FLAG_WRITE) &&
+       if (!(flags & FAULT_FLAG_WRITE) && !mm_forbids_zeropage(mm) &&
                        transparent_hugepage_use_zero_page()) {
                spinlock_t *ptl;
                pgtable_t pgtable;