diff options
| -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; |
