From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-19.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 815BBC4332E for ; Wed, 23 Dec 2020 02:27:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 55B2A2222D for ; Wed, 23 Dec 2020 02:27:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730929AbgLWC0n (ORCPT ); Tue, 22 Dec 2020 21:26:43 -0500 Received: from mail.kernel.org ([198.145.29.99]:57104 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730899AbgLWC0b (ORCPT ); Tue, 22 Dec 2020 21:26:31 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5B7CF2312E; Wed, 23 Dec 2020 02:25:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1608690351; bh=NNCFBDuLLqFp6ftvXf7COSELfRLsMdRJuLGXYhRX+OU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lPFwEAJh937mfRE60lBE8C2BIXAsIOfx7tBF42zYoJYSdlJxXMnJU38DgXZI2TlQu t7HKZoEeWQUJX9ENySqHg0sobz/0qbU+zxTRzM5ow3R8JD+Q0/Ic/SuYj2HoKKneUd hbpaEgpVDj1KXZ7Q2OB7uCvmboqv1qHLZnZB/T9UdPPLq+nGScwqiwYi+Pk8IXJc9f ES7MZnOSZ4nMhWz1woQClCzwwDagPjDv9fSgrR4IlzrFCRvIefGyDJzQmT8sqeszhu zn4JcOPf1B7/f/pVQjtdclu0NJAzpsKxgCksq4Z+YHHRrNKATttXk6osOWprxj3vZx woQUDPUcGtT4w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Thara Gopinath , Bjorn Andersson , Herbert Xu , Sasha Levin , linux-crypto@vger.kernel.org Subject: [PATCH AUTOSEL 4.4 27/38] crypto: qce - Fix SHA result buffer corruption issues Date: Tue, 22 Dec 2020 21:25:05 -0500 Message-Id: <20201223022516.2794471-27-sashal@kernel.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201223022516.2794471-1-sashal@kernel.org> References: <20201223022516.2794471-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thara Gopinath [ Upstream commit 1148a9654b5a69611d33e14719251c6ec20f5f2c ] Partial hash was being copied into the final result buffer without the entire message block processed. Depending on how the end user processes this result buffer, errors vary from result buffer corruption to result buffer poisoing. Fix this issue by ensuring that only the final hash value is copied into the result buffer. Reviewed-by: Bjorn Andersson Signed-off-by: Thara Gopinath Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/qce/sha.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 0c9973ec80ebd..f55c665756724 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -55,7 +55,7 @@ static void qce_ahash_done(void *data) dma_unmap_sg(qce->dev, &rctx->result_sg, 1, DMA_FROM_DEVICE); memcpy(rctx->digest, result->auth_iv, digestsize); - if (req->result) + if (req->result && rctx->last_blk) memcpy(req->result, result->auth_iv, digestsize); rctx->byte_count[0] = cpu_to_be32(result->auth_byte_count[0]); -- 2.27.0