From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751183AbdEMDQK (ORCPT ); Fri, 12 May 2017 23:16:10 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:33524 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750822AbdEMDQI (ORCPT ); Fri, 12 May 2017 23:16:08 -0400 From: Geliang Tang To: David Howells , James Morris , "Serge E. Hallyn" Cc: Geliang Tang , keyrings@vger.kernel.org, linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] KEYS: use memdup_user Date: Sat, 13 May 2017 11:15:57 +0800 Message-Id: <908fa521decaf3703e172c3734c0d498741f3ddb.1494580404.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use memdup_user() helper instead of open-coding to simplify the code. Signed-off-by: Geliang Tang --- security/keys/keyctl.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/security/keys/keyctl.c b/security/keys/keyctl.c index dd0da25..ce1574a 100644 --- a/security/keys/keyctl.c +++ b/security/keys/keyctl.c @@ -326,14 +326,11 @@ long keyctl_update_key(key_serial_t id, /* pull the payload in if one was supplied */ payload = NULL; if (_payload) { - ret = -ENOMEM; - payload = kmalloc(plen, GFP_KERNEL); - if (!payload) + payload = memdup_user(_payload, plen); + if (IS_ERR(payload)) { + ret = PTR_ERR(payload); goto error; - - ret = -EFAULT; - if (copy_from_user(payload, _payload, plen) != 0) - goto error2; + } } /* find the target key (which must be writable) */ -- 2.9.3