Files
kernel-tenderloin-3.0/include/linux
Oleg Nesterov 52ee2dfdd4 pids: refactor vnr/nr_ns helpers to make them safe
Inho, the safety rules for vnr/nr_ns helpers are horrible and buggy.

task_pid_nr_ns(task) needs rcu/tasklist depending on task == current.

As for "special" pids, vnr/nr_ns helpers always need rcu.  However, if
task != current, they are unsafe even under rcu lock, we can't trust
task->group_leader without the special checks.

And almost every helper has a callsite which needs a fix.

Also, it is a bit annoying that the implementations of, say,
task_pgrp_vnr() and task_pgrp_nr_ns() are not "symmetrical".

This patch introduces the new helper, __task_pid_nr_ns(), which is always
safe to use, and turns all other helpers into the trivial wrappers.

After this I'll send another patch which converts task_tgid_xxx() as well,
they're are a bit special.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: Louis Rilling <Louis.Rilling@kerlabs.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-02 19:05:02 -07:00
..
2009-03-18 19:45:11 -07:00
2009-03-05 14:39:32 -05:00
2009-02-12 09:40:14 +11:00
2009-04-01 08:59:23 -07:00
2009-04-01 08:59:23 -07:00
2009-03-27 14:43:57 -04:00
2009-03-27 14:43:59 -04:00
2009-03-01 00:19:35 -08:00
2009-02-10 00:41:26 +01:00
2009-03-16 08:32:27 -06:00
2009-04-02 19:04:52 -07:00
2009-04-01 08:59:29 -07:00
2009-02-18 15:37:56 -08:00
2009-03-24 12:35:17 +01:00
2009-04-01 08:59:14 -07:00
2009-03-31 20:15:33 +02:00
2009-04-02 19:04:53 -07:00
2009-02-11 15:27:15 +11:00
2009-02-02 21:40:58 +05:30
2009-03-13 14:32:29 +01:00
2009-04-02 19:04:49 -07:00
2009-04-01 08:59:18 -07:00
2009-03-24 22:52:39 -04:00
2009-04-01 08:59:17 -07:00
2009-04-02 19:04:48 -07:00
2009-03-26 10:56:35 -07:00
2009-03-20 10:48:14 -07:00
2009-03-15 19:59:13 -07:00
2009-04-01 13:28:15 -04:00
2009-04-01 13:28:15 -04:00
2009-03-10 20:33:18 -04:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-03-13 16:09:12 -07:00
2009-03-26 02:18:35 +01:00
2009-02-26 23:42:11 -08:00
2009-03-30 14:28:58 -07:00
2009-04-01 08:59:24 -07:00
2009-02-16 00:03:10 -08:00
2009-02-27 16:53:50 +09:00
2009-02-20 17:57:48 -08:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:15 -07:00
2009-04-02 19:05:01 -07:00
2009-02-11 14:25:36 -08:00
2009-02-18 15:37:53 -08:00
2009-02-03 11:23:12 +11:00
2009-03-26 18:14:21 +01:00