From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756929AbdIRSjN (ORCPT ); Mon, 18 Sep 2017 14:39:13 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:37037 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752656AbdIRSjJ (ORCPT ); Mon, 18 Sep 2017 14:39:09 -0400 X-Google-Smtp-Source: ADKCNb5Oq+51Lpa2BHOwWjz5U+6OlpStu5lUEpyCt3Mi1BBuJnwnoJOMvttravHsJDNOfp/IXn2auA== From: Eric Biggers To: keyrings@vger.kernel.org Cc: David Howells , Michael Halcrow , linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, Eric Biggers Subject: [PATCH] KEYS: use kmemdup() in request_key_auth_new() Date: Mon, 18 Sep 2017 11:39:02 -0700 Message-Id: <20170918183902.114459-1-ebiggers3@gmail.com> X-Mailer: git-send-email 2.14.1.690.gbb1197296e-goog Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Biggers kmemdup() is preferred to kmalloc() followed by memcpy(). Signed-off-by: Eric Biggers --- 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