diff options
Diffstat (limited to 'mm/vmacache.c')
-rw-r--r-- | mm/vmacache.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mm/vmacache.c b/mm/vmacache.c index d4224b397c0e..1037a3bab505 100644 --- a/mm/vmacache.c +++ b/mm/vmacache.c | |||
@@ -81,10 +81,12 @@ struct vm_area_struct *vmacache_find(struct mm_struct *mm, unsigned long addr) | |||
81 | for (i = 0; i < VMACACHE_SIZE; i++) { | 81 | for (i = 0; i < VMACACHE_SIZE; i++) { |
82 | struct vm_area_struct *vma = current->vmacache[i]; | 82 | struct vm_area_struct *vma = current->vmacache[i]; |
83 | 83 | ||
84 | if (vma && vma->vm_start <= addr && vma->vm_end > addr) { | 84 | if (!vma) |
85 | BUG_ON(vma->vm_mm != mm); | 85 | continue; |
86 | if (WARN_ON_ONCE(vma->vm_mm != mm)) | ||
87 | break; | ||
88 | if (vma->vm_start <= addr && vma->vm_end > addr) | ||
86 | return vma; | 89 | return vma; |
87 | } | ||
88 | } | 90 | } |
89 | 91 | ||
90 | return NULL; | 92 | return NULL; |