[PATCH 0/2] pids: initial fixes, unsafe dereference of the special pids
From: Oleg Nesterov
Date: Mon Mar 24 2008 - 14:31:50 EST
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.
--
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/