CRED: Fix commit_creds() on a process that has no mm

Fix commit_creds()'s handling of a process that has no mm (such as one that is
calling or has called daemonize()).  commit_creds() should check to see if
task->mm is not NULL before calling set_dumpable() on it.

Reported-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
David Howells 2009-01-08 11:18:31 +00:00 committed by James Morris
parent 9e42d0cf50
commit b9456371a7

View File

@ -372,7 +372,8 @@ int commit_creds(struct cred *new)
old->fsuid != new->fsuid || old->fsuid != new->fsuid ||
old->fsgid != new->fsgid || old->fsgid != new->fsgid ||
!cap_issubset(new->cap_permitted, old->cap_permitted)) { !cap_issubset(new->cap_permitted, old->cap_permitted)) {
set_dumpable(task->mm, suid_dumpable); if (task->mm)
set_dumpable(task->mm, suid_dumpable);
task->pdeath_signal = 0; task->pdeath_signal = 0;
smp_wmb(); smp_wmb();
} }