diff --git a/kernel/fork.c b/kernel/fork.c index a897ae226475..2c92ccbfe449 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -402,12 +402,8 @@ void vm_area_free(struct vm_area_struct *vma) free_anon_vma_name(vma); #ifdef CONFIG_SPECULATIVE_PAGE_FAULT if (atomic_read(&vma->vm_mm->mm_users) > 1) { - /* Only anonymous vmas can be torn down asynchronously */ - if (!vma->vm_file) { - call_rcu(&vma->vm_rcu, __vm_area_free); - return; - } - synchronize_rcu(); + call_rcu(&vma->vm_rcu, __vm_area_free); + return; } #endif ____vm_area_free(vma);