]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - mm/memory.c
Merge tag 'for-linus-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
[mirror_ubuntu-hirsute-kernel.git] / mm / memory.c
index f482af8bc828dc14c8518b99b15cc2f18a9cdb5c..589afe45d0b34e60bf1370426fb807ffd7d59a16 100644 (file)
@@ -65,7 +65,6 @@
 #include <linux/gfp.h>
 #include <linux/migrate.h>
 #include <linux/string.h>
-#include <linux/dma-debug.h>
 #include <linux/debugfs.h>
 #include <linux/userfaultfd_k.h>
 #include <linux/dax.h>
@@ -3710,13 +3709,14 @@ static vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page)
        unsigned long haddr = vmf->address & HPAGE_PMD_MASK;
        pmd_t entry;
        int i;
-       vm_fault_t ret;
+       vm_fault_t ret = VM_FAULT_FALLBACK;
 
        if (!transhuge_vma_suitable(vma, haddr))
-               return VM_FAULT_FALLBACK;
+               return ret;
 
-       ret = VM_FAULT_FALLBACK;
        page = compound_head(page);
+       if (compound_order(page) != HPAGE_PMD_ORDER)
+               return ret;
 
        /*
         * Archs like ppc64 need additonal space to store information