lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 18 Sep 2017 11:39:02 -0700 From: Eric Biggers <ebiggers3@...il.com> To: keyrings@...r.kernel.org Cc: David Howells <dhowells@...hat.com>, Michael Halcrow <mhalcrow@...gle.com>, linux-security-module@...r.kernel.org, linux-kernel@...r.kernel.org, Eric Biggers <ebiggers@...gle.com> Subject: [PATCH] KEYS: use kmemdup() in request_key_auth_new() From: Eric Biggers <ebiggers@...gle.com> kmemdup() is preferred to kmalloc() followed by memcpy(). Signed-off-by: Eric Biggers <ebiggers@...gle.com> --- security/keys/request_key_auth.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/security/keys/request_key_auth.c b/security/keys/request_key_auth.c index f2f29f13ecff..08bf6f99c043 100644 --- a/security/keys/request_key_auth.c +++ b/security/keys/request_key_auth.c @@ -161,12 +161,13 @@ struct key *request_key_auth_new(struct key *target, const void *callout_info, kleave(" = -ENOMEM"); return ERR_PTR(-ENOMEM); } - rka->callout_info = kmalloc(callout_len, GFP_KERNEL); + rka->callout_info = kmemdup(callout_info, callout_len, GFP_KERNEL); if (!rka->callout_info) { kleave(" = -ENOMEM"); kfree(rka); return ERR_PTR(-ENOMEM); } + rka->callout_len = callout_len; /* see if the calling process is already servicing the key request of * another process */ @@ -193,8 +194,6 @@ struct key *request_key_auth_new(struct key *target, const void *callout_info, rka->target_key = key_get(target); rka->dest_keyring = key_get(dest_keyring); - memcpy(rka->callout_info, callout_info, callout_len); - rka->callout_len = callout_len; /* allocate the auth key */ sprintf(desc, "%x", target->serial); -- 2.14.1.690.gbb1197296e-goog
Powered by blists - more mailing lists