Messages in this thread |  | | | From | David Howells <> | | Subject | Re: [PATCH 1/1] creds: kill __task_cred()->task_is_dead() validation | | Date | Wed, 11 Apr 2012 11:41:34 +0100 |
| |
Oleg Nesterov <oleg@redhat.com> wrote:
> commit 8f92054e: > > add the following validation condition: > > task->exit_state >= 0 > > to permit the access if the target task is dead and therefore > unable to change its own credentials. > > OK, but afaics currently this can only help wait_task_zombie() which > calls __task_cred() without rcu lock. > > Remove this validation and change wait_task_zombie() to use task_uid() > instead. This means we do rcu_read_lock() only to shut up the lockdep, > but we already do the same in, say, wait_task_stopped(). > > task_is_dead() should die, task->exit_state != 0 means that this task > has passed exit_notify(), only do_wait-like code paths should use this. > > Unfortunately, we can't kill task_is_dead() right now, it has already > found the bugy users in drivers/staging/, the fix already exists. > > Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: David Howells <dhowells@redhat.com>
|  |