Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1405993ybz; Fri, 1 May 2020 22:35:58 -0700 (PDT) X-Google-Smtp-Source: APiQypLLQdJBk5yNd/cdnYYD8L2JsbwlkQMfpu2QQWpuKMrbbX7ZmQx4Mqe0qs4p/sBVFSYe2JYM X-Received: by 2002:a05:6402:48a:: with SMTP id k10mr6158720edv.98.1588397758533; Fri, 01 May 2020 22:35:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588397758; cv=none; d=google.com; s=arc-20160816; b=mBbJ2bC+2f5tuEdByN7PcX5K6/lhxtCJimfINLPXLtdBZ/G+LhGw9GAnooYgnKAVOg c0YI4W1cEuT/lvyKfZJhBUnxRDJEUMz3s+r2kEvrfG/NkxZWMW43wYg/Uyqab+gLd5eV PzbUR/9LpJu8yjYYhNncK6ZSNdHKK0jhwEevyw3vNCOCYj4xaeNcxq4giqiVXTerooBB e5GSvZkVIdEuNDw1LvatT4hjH2bSz+gJsR27Ht+mV5kOyr6i8kSzVvERmWTZloubPxkE 76D04EpF/WuDbvfv5Bd/HdcmE2mMKnBnAt7Meapfva/kK2dNFUrd8B1uRKOV86KXWINK aivg== 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=wknj04qlBqt6sDr9b/d50P6xwzn2gzi0IGB0A3rDGWQ=; b=v5wOeiO30kPDnKlhAIzF4QpPkixrDrHBzYGzpzv5AENUvVPBVgRcL/9n97DQMkM9Bf Vz1UfLbu2NeHCHGcQn0/4qzEYHF07zRBxVArubckZYmvy9njatpF/JAOKplIGIMOFccb tyJJvtJeZ79N1XW2RGVggrktlYKQ9REyMaobqIl4NFQQLcpmRIe8riNiZr4KA4c9n9vc igmovMn+msZrgClRYNHkZCC/xecl8RkUZgpfe09LS9P/+8bmA67CFvRMOtUX7oa2ANS6 GN1+PRT83/GjlbfSrEi1o1Ym2Sgha7gW5dXzQuHzFb1YZte6Hs7plbxKuo78aYmP5kZL xStA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qBUQzoNQ; 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 b14si2780028edf.212.2020.05.01.22.35.35; Fri, 01 May 2020 22:35:58 -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=qBUQzoNQ; 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 S1727808AbgEBFdu (ORCPT + 99 others); Sat, 2 May 2020 01:33:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:39230 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727114AbgEBFdo (ORCPT ); Sat, 2 May 2020 01:33:44 -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 21EC821974; Sat, 2 May 2020 05:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588397624; bh=yP0ei9eeyV64D7gyzyKJiWXxmKwgWffX6x3jaj5oYJ0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qBUQzoNQj4V13fMB1Vpahw0ccNQnb3jfpta6w3juUullhJDNAFWq38H2RetXCjjTT +MC6q0hNSHRUf8qtr1HloK+AOvl95VtwjoIZNnWizGzV6hJsuwF2q4u0SvWr3xYcb6 M90cy9XT2wYZFnnkEJe2Dg6FZz5+NSLZgrP6yJVU= From: Eric Biggers To: linux-crypto@vger.kernel.org Cc: Krzysztof Kozlowski , Vladimir Zapolskiy , Kamil Konieczny Subject: [PATCH 11/20] crypto: s5p-sss - use crypto_shash_tfm_digest() Date: Fri, 1 May 2020 22:31:13 -0700 Message-Id: <20200502053122.995648-12-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: Krzysztof Kozlowski Cc: Vladimir Zapolskiy Cc: Kamil Konieczny Signed-off-by: Eric Biggers --- drivers/crypto/s5p-sss.c | 39 ++++++--------------------------------- 1 file changed, 6 insertions(+), 33 deletions(-) diff --git a/drivers/crypto/s5p-sss.c b/drivers/crypto/s5p-sss.c index 2a16800d257954..341433fbcc4a8b 100644 --- a/drivers/crypto/s5p-sss.c +++ b/drivers/crypto/s5p-sss.c @@ -1520,37 +1520,6 @@ static int s5p_hash_update(struct ahash_request *req) return s5p_hash_enqueue(req, true); /* HASH_OP_UPDATE */ } -/** - * s5p_hash_shash_digest() - calculate shash digest - * @tfm: crypto transformation - * @flags: tfm flags - * @data: input data - * @len: length of data - * @out: output buffer - */ -static int s5p_hash_shash_digest(struct crypto_shash *tfm, u32 flags, - const u8 *data, unsigned int len, u8 *out) -{ - SHASH_DESC_ON_STACK(shash, tfm); - - shash->tfm = tfm; - - return crypto_shash_digest(shash, data, len, out); -} - -/** - * s5p_hash_final_shash() - calculate shash digest - * @req: AHASH request - */ -static int s5p_hash_final_shash(struct ahash_request *req) -{ - struct s5p_hash_ctx *tctx = crypto_tfm_ctx(req->base.tfm); - struct s5p_hash_reqctx *ctx = ahash_request_ctx(req); - - return s5p_hash_shash_digest(tctx->fallback, req->base.flags, - ctx->buffer, ctx->bufcnt, req->result); -} - /** * s5p_hash_final() - close up hash and calculate digest * @req: AHASH request @@ -1582,8 +1551,12 @@ static int s5p_hash_final(struct ahash_request *req) if (ctx->error) return -EINVAL; /* uncompleted hash is not needed */ - if (!ctx->digcnt && ctx->bufcnt < BUFLEN) - return s5p_hash_final_shash(req); + if (!ctx->digcnt && ctx->bufcnt < BUFLEN) { + struct s5p_hash_ctx *tctx = crypto_tfm_ctx(req->base.tfm); + + return crypto_shash_tfm_digest(tctx->fallback, ctx->buffer, + ctx->bufcnt, req->result); + } return s5p_hash_enqueue(req, false); /* HASH_OP_FINAL */ } -- 2.26.2