Oleg Nesterov
f63ee72e0f
[PATCH] introduce lock_task_sighand() helper
...
Add lock_task_sighand() helper and converts group_send_sig_info() to use
it. Hopefully we will have more users soon.
This patch also removes '!sighand->count' and '!p->usage' checks, I think
they both are bogus, racy and unneeded (but probably it makes sense to
restore them as BUG_ON()s).
->sighand is cleared and it's ->count is decremented in release_task() with
sighand->siglock held, so it is a bug to have '!p->usage || !->count' after
we already locked and verified it is the same. On the other hand, an
already dead task without ->sighand can have a non-zero ->usage due to
ptrace, for example.
If we read the stale value of ->sighand we must see the change after
spin_lock(), because that change was done while holding that same old
->sighand.siglock.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru >
Cc: "Eric W. Biederman" <ebiederm@xmission.com >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-03-28 18:36:42 -08:00
..
2006-03-26 23:13:39 +01:00
2006-03-27 08:44:50 -08:00
2006-03-27 08:44:43 -08:00
2006-03-27 08:45:03 -08:00
2006-03-28 09:16:05 -08:00
2006-03-27 08:44:50 -08:00
2006-03-27 08:44:40 -08:00
2006-03-26 08:57:15 -08:00
2006-03-28 13:03:44 +02:00
2006-03-27 08:44:47 -08:00
2006-03-26 08:57:01 -08:00
2006-03-25 08:22:56 -08:00
2006-03-28 09:16:05 -08:00
2006-03-25 18:15:24 +00:00
2006-03-28 09:16:06 -08:00
2006-03-27 08:44:59 -08:00
2006-03-27 08:44:49 -08:00
2006-03-25 08:23:01 -08:00
2006-03-28 09:16:04 -08:00
2006-03-28 09:16:06 -08:00
2006-03-25 08:22:53 -08:00
2006-03-28 09:16:05 -08:00
2006-03-27 08:44:59 -08:00
2006-03-25 08:22:53 -08:00
2006-03-27 08:44:59 -08:00
2006-03-28 09:16:07 -08:00
2006-03-25 09:10:54 -08:00
2006-03-26 08:56:54 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:08 -08:00
2006-03-28 09:16:06 -08:00
2006-03-25 09:24:53 -08:00
2006-03-27 08:44:50 -08:00
2006-03-26 08:57:09 -08:00
2006-03-28 09:16:05 -08:00
2006-03-26 08:57:05 -08:00
2006-03-26 08:56:53 -08:00
2006-03-26 08:56:56 -08:00
2006-03-26 08:57:03 -08:00
2006-03-28 09:16:06 -08:00
2006-03-27 08:44:51 -08:00
2006-03-26 08:57:00 -08:00
2006-03-24 07:33:28 -08:00
2006-03-28 18:36:41 -08:00
2006-03-25 08:22:56 -08:00
2006-03-25 08:22:53 -08:00
2006-03-28 09:16:05 -08:00
2006-03-26 08:56:56 -08:00
2006-03-26 08:56:56 -08:00
2006-03-26 08:56:56 -08:00
2006-03-25 08:22:55 -08:00
2006-03-26 08:56:55 -08:00
2006-03-28 09:16:05 -08:00
2006-03-27 08:44:50 -08:00
2006-03-26 08:57:03 -08:00
2006-03-27 08:44:52 -08:00
2006-03-25 08:22:53 -08:00
2006-03-27 08:44:50 -08:00
2006-03-26 08:57:00 -08:00
2006-03-28 09:16:05 -08:00
2006-03-27 08:44:48 -08:00
2006-03-25 08:39:20 -08:00
2006-03-25 08:22:52 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-27 08:44:47 -08:00
2006-03-27 08:44:50 -08:00
2006-03-28 09:16:05 -08:00
2006-03-28 09:16:04 -08:00
2006-03-27 08:44:48 -08:00
2006-03-28 18:36:40 -08:00
2006-03-28 09:16:04 -08:00
2006-03-25 08:22:53 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-25 08:22:51 -08:00
2006-03-25 08:22:59 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:06 -08:00
2006-03-25 08:22:53 -08:00
2006-03-27 08:44:51 -08:00
2006-03-28 18:36:42 -08:00
2006-03-25 09:24:53 -08:00
2006-03-25 23:03:13 +00:00
2006-03-26 08:57:09 -08:00
2006-03-25 08:22:49 -08:00
2006-03-26 08:56:55 -08:00
2006-03-28 09:16:05 -08:00
2006-03-26 08:57:00 -08:00
2006-03-26 08:57:00 -08:00
2006-03-24 07:33:31 -08:00
2006-03-28 09:16:02 -08:00
2006-03-27 08:44:49 -08:00
2006-03-26 08:57:03 -08:00
2006-03-26 08:57:03 -08:00
2006-03-26 08:56:57 -08:00
2006-03-27 08:44:43 -08:00
2006-03-25 08:22:52 -08:00
2006-03-26 08:57:00 -08:00
2006-03-25 08:23:01 -08:00
2006-03-28 09:16:06 -08:00
2006-03-28 09:16:05 -08:00
2006-03-28 09:16:05 -08:00
2006-03-25 08:22:53 -08:00