Set cred->user_ns in key_replace_session_keyring
authorSerge E. Hallyn <serge@hallyn.com>
Thu, 26 May 2011 20:25:05 +0000 (15:25 -0500)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 May 2011 20:49:19 +0000 (13:49 -0700)
commitf7285b5d631fd6096b11c6af0058ed3a2b30ef4e
tree956fff16b2327818eae72cfe47cf2260986e2fd2
parentb7c2f036284452627d793af981877817b37d4351
Set cred->user_ns in key_replace_session_keyring

Since this cred was not created with copy_creds(), it needs to get
initialized.  Otherwise use of syscall(__NR_keyctl, KEYCTL_SESSION_TO_PARENT);
can lead to a NULL deref.  Thanks to Robert for finding this.

But introduced by commit 47a150edc2a ("Cache user_ns in struct cred").

Signed-off-by: Serge E. Hallyn <serge.hallyn@canonical.com>
Reported-by: Robert Święcki <robert@swiecki.net>
Cc: David Howells <dhowells@redhat.com>
Cc: stable@kernel.org (2.6.39)
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
security/keys/process_keys.c