diff options
Diffstat (limited to 'fs/dax.c')
-rw-r--r-- | fs/dax.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -541,6 +541,10 @@ int __dax_pmd_fault(struct vm_area_struct *vma, unsigned long address, | |||
541 | unsigned long pfn; | 541 | unsigned long pfn; |
542 | int result = 0; | 542 | int result = 0; |
543 | 543 | ||
544 | /* dax pmd mappings are broken wrt gup and fork */ | ||
545 | if (!IS_ENABLED(CONFIG_FS_DAX_PMD)) | ||
546 | return VM_FAULT_FALLBACK; | ||
547 | |||
544 | /* Fall back to PTEs if we're going to COW */ | 548 | /* Fall back to PTEs if we're going to COW */ |
545 | if (write && !(vma->vm_flags & VM_SHARED)) | 549 | if (write && !(vma->vm_flags & VM_SHARED)) |
546 | return VM_FAULT_FALLBACK; | 550 | return VM_FAULT_FALLBACK; |