Without rcu ot tasklist lock held, it is not safe to dereference the
result of task_session/task_pgrp. Even if the task == current.
Because we can race with another thread doing setpgrp/setsid, and use
the already freed/reused/unmapped memory if preempted.
The problem is old, surprisingly it wasn't noticed before. Fortunately
it is not very serious.
We have a lot of users which should be fixed. This series only fixes
sys_getsid/sys_getpgid syscalls.
Perhaps we can (should) add rcu lock/unlock to task_xxx_vnr(), but I'm
not sure. In any case, I think it is good to factor out pid_vnr() calls
like these patches do.
Oleg.