diff options
| author | Oleg Nesterov <oleg@redhat.com> | 2013-08-06 19:38:55 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-08-11 18:35:25 -0700 |
| commit | c98ebcb618645d40cfec14b0534ff32126c114ce (patch) | |
| tree | ff10fbc7e13727792d1b16107616368e0c5ad194 /include/linux | |
| parent | 73b8bd6de83c0ca182622f83d31a1b0a137281fe (diff) | |
userns: unshare_userns(&cred) should not populate cred on failure
commit 6160968cee8b90a5dd95318d716e31d7775c4ef3 upstream.
unshare_userns(new_cred) does *new_cred = prepare_creds() before
create_user_ns() which can fail. However, the caller expects that
it doesn't need to take care of new_cred if unshare_userns() fails.
We could change the single caller, sys_unshare(), but I think it
would be more clean to avoid the side effects on failure, so with
this patch unshare_userns() does put_cred() itself and initializes
*new_cred only if create_user_ns() succeeeds.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
