Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1405239ybz; Fri, 1 May 2020 22:34:39 -0700 (PDT) X-Google-Smtp-Source: APiQypLAD/q5eQLaMVQQ080jI8Ngh7tOl4tEw6GQ/wPlo9zXRS8aROm3MI3Kr6ApKeUHt4PfrVGE X-Received: by 2002:a05:6402:752:: with SMTP id p18mr6504604edy.261.1588397678906; Fri, 01 May 2020 22:34:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588397678; cv=none; d=google.com; s=arc-20160816; b=QEXn6RYIfjYR0BF8lS8eUHFQ4PRHm201PtvjfBDqY+r3IUbO2qzJ5VGKz3C4nVxY8L PiimtAoVABzvt3RRWC1b6pL5+VVDCvhgWpjZxw//Cjfl+J87gAsdOtSxGb4h6qBeJ7Ei 8edVCWd7NLk2NfkDUpenvT9Zf5uKPII06s5gGqrMWx1IBBuepCj/2ELClIDaVQ7Yp8PV 3dvbQrtmi1a/bROhmFwYOeQ0B0PAXzgOvHbgN9cZFXgI7bMKxP+P2aETT3DvOCPysqWi LPvPy2Q9dDBACbRzqEiDOWTE1igW6Y/IdY4VVTdN6h2X/ZH3mCKHGVxGtT2Mx6wmiegb PZcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Pp7AKll/ToditsvAgaVsxJTfmO9AmD8Xg2gizTD2zuY=; b=fbh8TyJ8jzN2AGu1/u9M0GeLBPFrp1f0B9VIjVnwmfSQAs4cGbe1SKeCdwYVuAE3U/ afCvZmrTB7poACJ66302NhuuCb/kLDB5sT+Sl7fPFFCMcXsPbtc2ONu7rjXtKvMVz0Cr xidJWgIbkCXZn/bnkjQOqGvWcklqdZ2ydK7GXaOK/75a3JdecxaAp6480Ahxc9dINNpm A/xHt62rAq58EYz/J9g0mOt8IYiCjZwbUmdr/kEgDRfdlauePUkZsSo3p4/jhXPWqLpL XP87Los4u/1VlzLqAmv2XMfyfsXOHyZ3w/4dVjtmeQWsT584EG5Sc65Iujz8oOsEk+bO mwkA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SElL3uHF; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a19si3083870ejt.117.2020.05.01.22.34.16; Fri, 01 May 2020 22:34:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SElL3uHF; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727835AbgEBFdt (ORCPT + 99 others); Sat, 2 May 2020 01:33:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:39220 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727832AbgEBFdq (ORCPT ); Sat, 2 May 2020 01:33:46 -0400 Received: from sol.hsd1.ca.comcast.net (c-107-3-166-239.hsd1.ca.comcast.net [107.3.166.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 2451C2495B; Sat, 2 May 2020 05:33:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588397626; bh=m9tJRaC/xdkq2x9xEKERQDzme5WlAEgGO8kez0ERpKg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SElL3uHFWuIiPX2XYV1j5cAPwHYTomeoDZNdTWNxvO1T6CViwnDRIzlHoC8yYzrKo 9vTCU8q8hXm55jXssqRx3kGe3C557tQ6glI3+mdiHo7/f+SYT+yNj5rfM8n+knD9qE F2U+IrJH3LqLvKMPwfctO6NrzAGdULBWAaXsY69s= From: Eric Biggers To: linux-crypto@vger.kernel.org Cc: keyrings@vger.kernel.org Subject: [PATCH 19/20] KEYS: encrypted: use crypto_shash_tfm_digest() Date: Fri, 1 May 2020 22:31:21 -0700 Message-Id: <20200502053122.995648-20-ebiggers@kernel.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200502053122.995648-1-ebiggers@kernel.org> References: <20200502053122.995648-1-ebiggers@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org From: Eric Biggers Instead of manually allocating a 'struct shash_desc' on the stack and calling crypto_shash_digest(), switch to using the new helper function crypto_shash_tfm_digest() which does this for us. Cc: keyrings@vger.kernel.org Signed-off-by: Eric Biggers --- security/keys/encrypted-keys/encrypted.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/security/keys/encrypted-keys/encrypted.c b/security/keys/encrypted-keys/encrypted.c index f6797ba44bf716..14cf81d1a30b14 100644 --- a/security/keys/encrypted-keys/encrypted.c +++ b/security/keys/encrypted-keys/encrypted.c @@ -323,19 +323,6 @@ static struct key *request_user_key(const char *master_desc, const u8 **master_k return ukey; } -static int calc_hash(struct crypto_shash *tfm, u8 *digest, - const u8 *buf, unsigned int buflen) -{ - SHASH_DESC_ON_STACK(desc, tfm); - int err; - - desc->tfm = tfm; - - err = crypto_shash_digest(desc, buf, buflen, digest); - shash_desc_zero(desc); - return err; -} - static int calc_hmac(u8 *digest, const u8 *key, unsigned int keylen, const u8 *buf, unsigned int buflen) { @@ -351,7 +338,7 @@ static int calc_hmac(u8 *digest, const u8 *key, unsigned int keylen, err = crypto_shash_setkey(tfm, key, keylen); if (!err) - err = calc_hash(tfm, digest, buf, buflen); + err = crypto_shash_tfm_digest(tfm, buf, buflen, digest); crypto_free_shash(tfm); return err; } @@ -381,7 +368,8 @@ static int get_derived_key(u8 *derived_key, enum derived_key_type key_type, memcpy(derived_buf + strlen(derived_buf) + 1, master_key, master_keylen); - ret = calc_hash(hash_tfm, derived_key, derived_buf, derived_buf_len); + ret = crypto_shash_tfm_digest(hash_tfm, derived_buf, derived_buf_len, + derived_key); kzfree(derived_buf); return ret; } -- 2.26.2