perf_event_mmap(vma) && !vma->vm_mm

From: Oleg Nesterov
Date: Sat Oct 12 2013 - 15:29:20 EST


Hi,

I am fighting with uprobe bug, and perf_event_mmap() complicates
the problem, it is the only reason (afaics) why the forking task
can not do install_special_mapping(new_child_mm). This means that
the child should do this itself, say, from task_work_run() but
this way it can't handle the error if get_xol_area() fails, too
late to abort the already finished copy_process().

But please ignore, the only question is that I can't understand
this

if (!vma->vm_mm) {
name = strncpy(tmp, "[vdso]", sizeof(tmp));
goto got_name;
}

code in perf_event_mmap_event() and I am just curious. How it is
possible that vma->vm_mm == NULL ? perf_event_mmap(vma) is never
called with, say, vma == gate_vma. And even if it was possible
arch_vma_name() should handle this case?

Thanks,

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/