Messages in this thread Patch in this message | | | Subject | [RFC PATCH 5 6/7] KEYS - use correct memory allocation flag in call_usermodehelper_keys() | From | Ian Kent <> | Date | Tue, 31 Mar 2015 11:15:27 +0800 |
| |
From: Ian Kent <ikent@redhat.com>
When call_usermodehelper_keys() is called it assumes it won't be called with the flag UMH_NO_WAIT. Currently that's always the case.
Change this to check the flag and use the correct kernel memory allocation flag to guard against future changes.
Signed-off-by: Ian Kent <ikent@redhat.com> Cc: Benjamin Coddington <bcodding@redhat.com> Cc: Al Viro <viro@ZenIV.linux.org.uk> Cc: J. Bruce Fields <bfields@fieldses.org> Cc: David Howells <dhowells@redhat.com> Cc: Trond Myklebust <trond.myklebust@primarydata.com> Cc: Oleg Nesterov <onestero@redhat.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Jeff Layton <jeff.layton@primarydata.com> --- security/keys/request_key.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/security/keys/request_key.c b/security/keys/request_key.c index 486ef6f..e865f9f 100644 --- a/security/keys/request_key.c +++ b/security/keys/request_key.c @@ -76,8 +76,10 @@ static int call_usermodehelper_keys(char *path, char **argv, char **envp, struct key *session_keyring, int wait) { struct subprocess_info *info; + unsigned int gfp_mask = (wait & UMH_NO_WAIT) ? + GFP_ATOMIC : GFP_KERNEL; - info = call_usermodehelper_setup(path, argv, envp, GFP_KERNEL, + info = call_usermodehelper_setup(path, argv, envp, gfp_mask, umh_keys_init, umh_keys_cleanup, session_keyring); if (!info)
| |