diff options
Diffstat (limited to 'mm/huge_memory.c')
-rw-r--r-- | mm/huge_memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/huge_memory.c b/mm/huge_memory.c index c3bc7e9c9a2a..533f9b00147d 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c | |||
@@ -821,11 +821,11 @@ vm_fault_t vmf_insert_pfn_pud(struct vm_area_struct *vma, unsigned long addr, | |||
821 | * but we need to be consistent with PTEs and architectures that | 821 | * but we need to be consistent with PTEs and architectures that |
822 | * can't support a 'special' bit. | 822 | * can't support a 'special' bit. |
823 | */ | 823 | */ |
824 | BUG_ON(!(vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP))); | 824 | BUG_ON(!(vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) && |
825 | !pfn_t_devmap(pfn)); | ||
825 | BUG_ON((vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) == | 826 | BUG_ON((vma->vm_flags & (VM_PFNMAP|VM_MIXEDMAP)) == |
826 | (VM_PFNMAP|VM_MIXEDMAP)); | 827 | (VM_PFNMAP|VM_MIXEDMAP)); |
827 | BUG_ON((vma->vm_flags & VM_PFNMAP) && is_cow_mapping(vma->vm_flags)); | 828 | BUG_ON((vma->vm_flags & VM_PFNMAP) && is_cow_mapping(vma->vm_flags)); |
828 | BUG_ON(!pfn_t_devmap(pfn)); | ||
829 | 829 | ||
830 | if (addr < vma->vm_start || addr >= vma->vm_end) | 830 | if (addr < vma->vm_start || addr >= vma->vm_end) |
831 | return VM_FAULT_SIGBUS; | 831 | return VM_FAULT_SIGBUS; |