|
@@ -541,6 +541,10 @@ int __dax_pmd_fault(struct vm_area_struct *vma, unsigned long address,
|
|
unsigned long pfn;
|
|
unsigned long pfn;
|
|
int result = 0;
|
|
int result = 0;
|
|
|
|
|
|
|
|
+ /* dax pmd mappings are broken wrt gup and fork */
|
|
|
|
+ if (!IS_ENABLED(CONFIG_FS_DAX_PMD))
|
|
|
|
+ return VM_FAULT_FALLBACK;
|
|
|
|
+
|
|
/* Fall back to PTEs if we're going to COW */
|
|
/* Fall back to PTEs if we're going to COW */
|
|
if (write && !(vma->vm_flags & VM_SHARED))
|
|
if (write && !(vma->vm_flags & VM_SHARED))
|
|
return VM_FAULT_FALLBACK;
|
|
return VM_FAULT_FALLBACK;
|