diff options
author | Oleg Nesterov <oleg@redhat.com> | 2010-05-26 14:43:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 09:12:45 -0700 |
commit | 685bfd2c48bb3284d31e73ff3151c957d76deda9 (patch) | |
tree | 177210787515f48c0eaad5216bd012f4a2fb2149 /security/keys/process_keys.c | |
parent | 898b374af6f71041bd3bceebe257e564f3f1d458 (diff) | |
download | kernel_samsung_smdk4412-685bfd2c48bb3284d31e73ff3151c957d76deda9.tar.gz kernel_samsung_smdk4412-685bfd2c48bb3284d31e73ff3151c957d76deda9.tar.bz2 kernel_samsung_smdk4412-685bfd2c48bb3284d31e73ff3151c957d76deda9.zip |
umh: creds: convert call_usermodehelper_keys() to use subprocess_info->init()
call_usermodehelper_keys() uses call_usermodehelper_setkeys() to change
subprocess_info->cred in advance. Now that we have info->init() we can
change this code to set tgcred->session_keyring in context of execing
kernel thread.
Note: since currently call_usermodehelper_keys() is never called with
UMH_NO_WAIT, call_usermodehelper_keys()->key_get() and umh_keys_cleanup()
are not really needed, we could rely on install_session_keyring_to_cred()
which does key_get() on success.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'security/keys/process_keys.c')
-rw-r--r-- | security/keys/process_keys.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index 20a38fed61b..6b8e4ff4cc6 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c @@ -216,8 +216,7 @@ static int install_process_keyring(void) /* * install a session keyring directly to a credentials struct */ -static int install_session_keyring_to_cred(struct cred *cred, - struct key *keyring) +int install_session_keyring_to_cred(struct cred *cred, struct key *keyring) { unsigned long flags; struct key *old; |