mm: prevent mmap_cache race in find_vma()
[pandora-kernel.git] / mm / mmap.c
index eae90af..dff37a6 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1573,7 +1573,7 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr)
        if (mm) {
                /* Check the cache first. */
                /* (Cache hit rate is typically around 35%.) */
-               vma = mm->mmap_cache;
+               vma = ACCESS_ONCE(mm->mmap_cache);
                if (!(vma && vma->vm_end > addr && vma->vm_start <= addr)) {
                        struct rb_node * rb_node;