Sorry for delay...
The problem is, find_task_by_vpid() is not safe without RCU. It is not
that the returned task_struct can't go away, find_pid_ns() itself is
not safe. This is because the failing copy_process() calls free_pid()
without tasklist_lock and modifies pid_hash[] list.
Oleg.
--