From: Tetsuo Handa on
reparent_to_kthreadd() is calling commit_creds() with tasklist_lock held. But
commit_creds() calls key_fsuid_changed()/key_fsgid_changed()/proc_id_connector()
which may sleep. Release tasklist_lock before calling commit_creds().

Signed-off-by: Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
---
kernel/exit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- security-testing-2.6.orig/kernel/exit.c
+++ security-testing-2.6/kernel/exit.c
@@ -348,8 +348,8 @@ static void reparent_to_kthreadd(void)
sizeof(current->signal->rlim));

atomic_inc(&init_cred.usage);
- commit_creds(&init_cred);
write_unlock_irq(&tasklist_lock);
+ commit_creds(&init_cred);
}

void __set_special_pids(struct pid *pid)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/