|
@@ -627,6 +627,13 @@ int __dax_pmd_fault(struct vm_area_struct *vma, unsigned long address,
|
|
if ((length < PMD_SIZE) || (pfn & PG_PMD_COLOUR))
|
|
if ((length < PMD_SIZE) || (pfn & PG_PMD_COLOUR))
|
|
goto fallback;
|
|
goto fallback;
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * TODO: teach vmf_insert_pfn_pmd() to support
|
|
|
|
+ * 'pte_special' for pmds
|
|
|
|
+ */
|
|
|
|
+ if (pfn_valid(pfn))
|
|
|
|
+ goto fallback;
|
|
|
|
+
|
|
if (buffer_unwritten(&bh) || buffer_new(&bh)) {
|
|
if (buffer_unwritten(&bh) || buffer_new(&bh)) {
|
|
int i;
|
|
int i;
|
|
for (i = 0; i < PTRS_PER_PMD; i++)
|
|
for (i = 0; i < PTRS_PER_PMD; i++)
|