[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/