aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--security/keys/request_key.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index 4bd6bdb74193..c411f9bb156b 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -93,9 +93,16 @@ static void umh_keys_cleanup(struct subprocess_info *info)
93static int call_usermodehelper_keys(char *path, char **argv, char **envp, 93static int call_usermodehelper_keys(char *path, char **argv, char **envp,
94 struct key *session_keyring, int wait) 94 struct key *session_keyring, int wait)
95{ 95{
96 return call_usermodehelper_fns(path, argv, envp, wait, 96 struct subprocess_info *info;
97 umh_keys_init, umh_keys_cleanup, 97
98 key_get(session_keyring)); 98 info = call_usermodehelper_setup(path, argv, envp, GFP_KERNEL,
99 umh_keys_init, umh_keys_cleanup,
100 session_keyring);
101 if (!info)
102 return -ENOMEM;
103
104 key_get(session_keyring);
105 return call_usermodehelper_exec(info, wait);
99} 106}
100 107
101/* 108/*