From patchwork Tue Jun 23 19:51:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 191623 Delivered-To: patch@linaro.org Received: by 2002:a54:3249:0:0:0:0:0 with SMTP id g9csp1376845ecs; Tue, 23 Jun 2020 14:42:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznusWqh3VM36Uh+mAQBGMIcv8+jzo4qT9M/2ea5QHCmCN/STnONmvVHCLYJD19MznQ/cRL X-Received: by 2002:a50:fa8d:: with SMTP id w13mr24197282edr.324.1592948566873; Tue, 23 Jun 2020 14:42:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592948566; cv=none; d=google.com; s=arc-20160816; b=vM20EIKkA+0/6f2yzTkYcwuF3c4LZBT1pApMysrD4kzUAIauURybm7hwIdnHtU3jeM l3bjQZ9dQNxfAuQE+QLjuYKxyU0Jcu4zr+JCZR26YD/E6DtAjNtUif5ayo9D6UR7Lx4F 1ExzQm2HwKmDchA56uPZFsPeS63Dogs7+NWUorAsB+1gCS5XlxLCdVie57AEpu+HIYL6 2t01gh8DAoiQv2ofY6xsJ/h7bPf8mx0YPpA7+ULEJmL1IVYHCJlv+iqAqZR8YxRAXjAp d2pdp+EIxi5E+BtJIqrtVff7ogoPPRSYYzpygL7FijXCVnq5D1wc48ngrDIGUUmSvUB6 fveA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=u7hCUZBmR6dV1NEyMmDCmRfC5tbs7OnVBWQAtJVIBJY=; b=koO/UgOj4I1XN1r3Dj4s87CAeSx4drjaYTAuJ7YkXbit3w+BPBvmPcwpq1Z/2Br+I5 0XjagX0We8Gtk0p3ZqoITTKrXpxAZVp6q90npqueHehpngHPWALRubPe++9/aELXHI30 IiyGGAba/ZbVKDfLCyNA9QSKadMj0it6wpr5gjBA1YN0M19vGznhGxPxm+J5nteBm2et GAWW1zcqpeVoQN4La3BfvoPxu5nCxcw/udg9vRyMdkemD3vvb/yPmwPmfggHEgTWD1Jd LPmfGX9K+VeBca8U/BDm/2WyKKQuJbsZIqkok/axxc5OezskbFMItqxtfAnMadRWGDnn /5og== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=h4jU6jp8; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t16si11105760eju.162.2020.06.23.14.42.46; Tue, 23 Jun 2020 14:42:46 -0700 (PDT) Received-SPF: pass (google.com: domain of stable-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=h4jU6jp8; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388227AbgFWUEe (ORCPT + 15 others); Tue, 23 Jun 2020 16:04:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:43170 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388222AbgFWUEd (ORCPT ); Tue, 23 Jun 2020 16:04:33 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BC8952080C; Tue, 23 Jun 2020 20:04:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592942673; bh=ejEZqh1eLihEvR8qz0EAH2FGNdmKGoi+s0AiUyXYpmQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h4jU6jp8i8um10n8kQOZ8DSxHAnGduFrxnHzI8GkXPOzSSlMYtaFuOHqalPiB41/q oxj9h4jR8OSASEK2v4lH5UlUd5L2ObWTSy+f9ufF3RUMaaXbacG9eqSs/W/WMc6Z5V 2/BmtSH++voMA+cGFB1xNiVM/Yalx4Qya/Ja/GmU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Tero Kristo , Herbert Xu , Sasha Levin Subject: [PATCH 5.7 090/477] crypto: omap-sham - huge buffer access fixes Date: Tue, 23 Jun 2020 21:51:27 +0200 Message-Id: <20200623195411.860807142@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195407.572062007@linuxfoundation.org> References: <20200623195407.572062007@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Tero Kristo [ Upstream commit 6395166d7a19019d5e9574eb9ecdaf0028abb887 ] The ctx internal buffer can only hold buflen amount of data, don't try to copy over more than that. Also, initialize the context sg pointer if we only have data in the context internal buffer, this can happen when closing a hash with certain data amounts. Signed-off-by: Tero Kristo Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin --- drivers/crypto/omap-sham.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c index e4072cd385857..0cbf9c932a0f0 100644 --- a/drivers/crypto/omap-sham.c +++ b/drivers/crypto/omap-sham.c @@ -751,8 +751,15 @@ static int omap_sham_align_sgs(struct scatterlist *sg, int offset = rctx->offset; int bufcnt = rctx->bufcnt; - if (!sg || !sg->length || !nbytes) + if (!sg || !sg->length || !nbytes) { + if (bufcnt) { + sg_init_table(rctx->sgl, 1); + sg_set_buf(rctx->sgl, rctx->dd->xmit_buf, bufcnt); + rctx->sg = rctx->sgl; + } + return 0; + } new_len = nbytes; @@ -896,7 +903,7 @@ static int omap_sham_prepare_request(struct ahash_request *req, bool update) if (hash_later < 0) hash_later = 0; - if (hash_later) { + if (hash_later && hash_later <= rctx->buflen) { scatterwalk_map_and_copy(rctx->buffer, req->src, req->nbytes - hash_later,