Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1405135ybz; Fri, 1 May 2020 22:34:27 -0700 (PDT) X-Google-Smtp-Source: APiQypKlOgFHu3vS7OlcL/6IC23xtAohaftzI+F2vqIp559wlK6mdivPq6/tv71bCtH1YoFm+ZEn X-Received: by 2002:a17:906:b7da:: with SMTP id fy26mr6504612ejb.327.1588397667639; Fri, 01 May 2020 22:34:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588397667; cv=none; d=google.com; s=arc-20160816; b=ehzxNp4GcjhyjERXVUkaaeZFrvVXNIPMbMKqJqcwgW1SCl21Po3KMZIIzPtZqksXFe ZD2M2WnazoJJbpiTcQyZPRMVpG48ToeVdk5P9Cf0/ievXiigPUhqddAoZlRUm5ocCuKg HFgyJ8gQnNAy3wD3Ha2pjNgvlsTOBXoLSa7aIQQUe09Tpk88kNFzmaKgwPBWt8IJj8nr rWDz2CQol/Sm5Spc6XLjlE4QBvbZOZPkLIJ3q17bD4hE010SnjjybXgUSHBqrxg0hSm2 zGA+VZ7DwTEuGWqDf7Z7Wf53SFNkvvr+k9QCgJjXJ7/7djOr8wyes0fVedWrttxhG2/M MVgA== 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=bY9q4iNQ3MAg3N9ViffKWLCCyVQ1GZrlLHmVqpAZpsM=; b=QBwgnIRTSLs1vTRbDa2BmlijwuLVBzu+Fo69mnE3h7RSahAMkqjfLa7pooc9ROsJbf 1EuajgigaQZ/922634VMaGzP43hIY2yxsJXQHH4eenk+q9ARp77HwT3qdH9Xqt98qeye gumR38KCOdqxnuLpnZIgUuvQaXOv6pC/iqurvzkXAR2PgHZDkxenL/jtcT3k4phz9opY h2mFmGhex/yUxDcX1j0H7a5HfRs5yHw5D9f6Jc2yO/R9aOSLef6hgA5MQFTgKbSJXm4R +UgPWUCyu3OjGqX9t7fgm5utZ8KTRVu3j4xe2tnKQxR7Tpg+Qj6uuJoKMoE/qiU+jub5 XH3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aTIMQVl6; 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 n25si3148310ejl.342.2020.05.01.22.34.02; Fri, 01 May 2020 22:34:27 -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=aTIMQVl6; 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 S1727815AbgEBFdr (ORCPT + 99 others); Sat, 2 May 2020 01:33:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:39284 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727776AbgEBFdp (ORCPT ); Sat, 2 May 2020 01:33:45 -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 2B6DC208DB; Sat, 2 May 2020 05:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588397625; bh=D5XW6cZpsJwZ7D6M28ztCkO8mBJw30MPkBRR8dbGTwQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aTIMQVl6HdIeINBbS+bh94aY/URMxXAIm5FeH8NT4QtQ2e0rLKrraXahmsRIShFWt aRE6zCqwmeA8G9OFtTVqRIbTV3f/GLhFNwcve20yI7ZmBycn7XiSCwl1yo7eOAGw6G BOuEKV5AX+qzZHZePQ8PfSZmRJz5VoZMvB2agScI= From: Eric Biggers To: linux-crypto@vger.kernel.org Cc: linux-nfs@vger.kernel.org Subject: [PATCH 15/20] nfsd: use crypto_shash_tfm_digest() Date: Fri, 1 May 2020 22:31:17 -0700 Message-Id: <20200502053122.995648-16-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: linux-nfs@vger.kernel.org Signed-off-by: Eric Biggers --- fs/nfsd/nfs4recover.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index a8fb18609146a2..9e40dfecf1b1a6 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -127,16 +127,8 @@ nfs4_make_rec_clidname(char *dname, const struct xdr_netobj *clname) goto out; } - { - SHASH_DESC_ON_STACK(desc, tfm); - - desc->tfm = tfm; - - status = crypto_shash_digest(desc, clname->data, clname->len, - cksum.data); - shash_desc_zero(desc); - } - + status = crypto_shash_tfm_digest(tfm, clname->data, clname->len, + cksum.data); if (status) goto out; @@ -1148,7 +1140,6 @@ nfsd4_cld_create_v2(struct nfs4_client *clp) struct crypto_shash *tfm = cn->cn_tfm; struct xdr_netobj cksum; char *principal = NULL; - SHASH_DESC_ON_STACK(desc, tfm); /* Don't upcall if it's already stored */ if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) @@ -1170,16 +1161,14 @@ nfsd4_cld_create_v2(struct nfs4_client *clp) else if (clp->cl_cred.cr_principal) principal = clp->cl_cred.cr_principal; if (principal) { - desc->tfm = tfm; cksum.len = crypto_shash_digestsize(tfm); cksum.data = kmalloc(cksum.len, GFP_KERNEL); if (cksum.data == NULL) { ret = -ENOMEM; goto out; } - ret = crypto_shash_digest(desc, principal, strlen(principal), - cksum.data); - shash_desc_zero(desc); + ret = crypto_shash_tfm_digest(tfm, principal, strlen(principal), + cksum.data); if (ret) { kfree(cksum.data); goto out; @@ -1343,7 +1332,6 @@ nfsd4_cld_check_v2(struct nfs4_client *clp) struct crypto_shash *tfm = cn->cn_tfm; struct xdr_netobj cksum; char *principal = NULL; - SHASH_DESC_ON_STACK(desc, tfm); /* did we already find that this client is stable? */ if (test_bit(NFSD4_CLIENT_STABLE, &clp->cl_flags)) @@ -1381,14 +1369,12 @@ nfsd4_cld_check_v2(struct nfs4_client *clp) principal = clp->cl_cred.cr_principal; if (principal == NULL) return -ENOENT; - desc->tfm = tfm; cksum.len = crypto_shash_digestsize(tfm); cksum.data = kmalloc(cksum.len, GFP_KERNEL); if (cksum.data == NULL) return -ENOENT; - status = crypto_shash_digest(desc, principal, strlen(principal), - cksum.data); - shash_desc_zero(desc); + status = crypto_shash_tfm_digest(tfm, principal, + strlen(principal), cksum.data); if (status) { kfree(cksum.data); return -ENOENT; -- 2.26.2