mm: fix oops when filemap_map_pmd() without prealloc_pte
[platform/kernel/linux-starfive.git] / mm / filemap.c
index f0a15ce..d40a20c 100644 (file)
@@ -3422,7 +3422,7 @@ static bool filemap_map_pmd(struct vm_fault *vmf, struct folio *folio,
                }
        }
 
-       if (pmd_none(*vmf->pmd))
+       if (pmd_none(*vmf->pmd) && vmf->prealloc_pte)
                pmd_install(mm, vmf->pmd, &vmf->prealloc_pte);
 
        return false;