/* Collect processes when the error hit an anonymous page.  */
static void collect_procs_anon(struct page *page, struct list_head *to_kill, struct to_kill **tkc)
/* Collect processes when the error hit an anonymous page.  */
static void collect_procs_anon(struct page *page, struct list_head *to_kill, struct to_kill **tkc)
{
	struct vm_area_struct *vma;
	struct task_struct *tsk;
	struct anon_vma *av;
	read_lock(&tasklist_lock);
	av = page_lock_anon_vma(page);
	if (av == NULL)
		goto out;
	for_each_process (tsk) {
		if (!task_early_kill(tsk))
			continue;
		list_for_each_entry (vma, &av->head, anon_vma_node) {
			if (!page_mapped_in_vma(page, vma))
				continue;
			if (vma->vm_mm == tsk->mm)
				add_to_kill(tsk, page, vma, to_kill, tkc);
		}
	}
	page_unlock_anon_vma(av);
out:
	read_unlock(&tasklist_lock);
}