diff options
Diffstat (limited to 'mm/hmm.c')
-rw-r--r-- | mm/hmm.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -676,7 +676,8 @@ int hmm_vma_get_pfns(struct hmm_range *range) | |||
676 | return -EINVAL; | 676 | return -EINVAL; |
677 | 677 | ||
678 | /* FIXME support hugetlb fs */ | 678 | /* FIXME support hugetlb fs */ |
679 | if (is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_SPECIAL)) { | 679 | if (is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_SPECIAL) || |
680 | vma_is_dax(vma)) { | ||
680 | hmm_pfns_special(range); | 681 | hmm_pfns_special(range); |
681 | return -EINVAL; | 682 | return -EINVAL; |
682 | } | 683 | } |
@@ -849,7 +850,8 @@ int hmm_vma_fault(struct hmm_range *range, bool block) | |||
849 | return -EINVAL; | 850 | return -EINVAL; |
850 | 851 | ||
851 | /* FIXME support hugetlb fs */ | 852 | /* FIXME support hugetlb fs */ |
852 | if (is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_SPECIAL)) { | 853 | if (is_vm_hugetlb_page(vma) || (vma->vm_flags & VM_SPECIAL) || |
854 | vma_is_dax(vma)) { | ||
853 | hmm_pfns_special(range); | 855 | hmm_pfns_special(range); |
854 | return -EINVAL; | 856 | return -EINVAL; |
855 | } | 857 | } |