uprobes: Suppress uprobe_munmap() from mmput()
[firefly-linux-kernel-4.4.55.git] / kernel / events / uprobes.c
index bed2161620d7bda304970d6e7e4df9e25f6854b3..9db9cdf8ff346d00cb682068544ae3307d3b5116 100644 (file)
@@ -1082,6 +1082,9 @@ void uprobe_munmap(struct vm_area_struct *vma, unsigned long start, unsigned lon
        if (!atomic_read(&uprobe_events) || !valid_vma(vma, false))
                return;
 
+       if (!atomic_read(&vma->vm_mm->mm_users)) /* called by mmput() ? */
+               return;
+
        if (!atomic_read(&vma->vm_mm->uprobes_state.count))
                return;