Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp6171607rwd; Mon, 5 Jun 2023 14:16:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5f0hkjV/MsddvtYefTIVEW2GpPfrU2/tSb9OE3l9sWo4g5/i+gA2ZQGdzEXTZFdyftHEOy X-Received: by 2002:a17:902:e747:b0:1af:b119:4516 with SMTP id p7-20020a170902e74700b001afb1194516mr159997plf.5.1685999800959; Mon, 05 Jun 2023 14:16:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685999800; cv=none; d=google.com; s=arc-20160816; b=wz8DwSj8tpPFMsrDx4+mGH/yztiK9P/FHvNKU3cF6oPWu2jALgIF9LhtSoBj+NlLcS i/la6t9PBjBFFS4MHFvJ44CfdQVRvtABJZ24+d1QG0nb+XYgm/jr3ahfffcrq9nBkihy G36iYmH+WrF4WzDU5PzawnCDS4NU2woHZ3OvB7nHrxkb7vFr2EnrapzhtT8fUs56oufZ gwEBFHJLVtc//LJ7kYrycqIfR/OEwuVYXPifbqWC+BOVj/nsxWLQkpPzT5HYaOuw18Kd +MUAeus9FWd8cAZSNBnkxo/p8EgiLLtYXwmKBO7F75SDkMxxSRhWqHSKvx+JmOrGGBAX MszQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:organization :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=b6ztQXbOZJcCoJizqdJvqn0jJRe0McmaLKZM90+rpxY=; b=CdWbFACbGuai0icGEY7qI1OObTKEMATh6PHjsM9nu4tKfoJzkJBaBhMECJ7IdW+62X HwrKb4PD17yViRPexX8A/ugqBCgD2wnMrVaMFN18TQJhCTa0T6RgLJmVS2j32QRXQwzJ CQN+DmkfXzrP+7CvecZ8re2FfK25HKzSHjLhnjNZHFrDbBMH/EChej4KnuI7XOtv7xBf s+W2iVE3o6NGunjtJPm1IWCgss668z+RsHjDQYTQ4Unxorzh5UrzGqTwbCA+2DasgZfi mwpPc+3kPs4XMgWdqh5+ACwSn9T+jZodamao4WEPS/9qB752X25iQSnG296FkSgnylaq mmUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RrKFUEZb; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z15-20020a170903018f00b001b186709e7asi6108600plg.40.2023.06.05.14.16.04; Mon, 05 Jun 2023 14:16:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RrKFUEZb; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232353AbjFEVGT (ORCPT + 99 others); Mon, 5 Jun 2023 17:06:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229740AbjFEVGS (ORCPT ); Mon, 5 Jun 2023 17:06:18 -0400 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5100BF2 for ; Mon, 5 Jun 2023 14:06:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685999177; x=1717535177; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=84N/bWW/1Rdl/Cl2kkZxQ2WcIGxY8rCHPu735Uf+/44=; b=RrKFUEZbShAr8VBtrG81Ztd3K8pr8Bk00bqq32mRSrunKUwXu9IL17Vr YSB6zmktzdpInffPk4wWqJusgLSQ06HhcmKNtLjfJPzLIcZVjqCdyy+Bl fWfIPmkq9JWiYy9qtlJBbX+ugQzbwkMnp6ZheB9KeBOUvpBld/ks0TD5v Qi80CbqPZ3D2/Qy5RQa7alHVqYRH6BbFDDRdRmA6bU9OpENeL/ROgYJnb XlKM+ffHVCDCMhQZqyQ8y6lnsXd9vlKh/M/VazMHcCfNRKzBhwc6ArfsZ ho7nXd9R1pU7jdPGeAw7FisZNMIUVbv52u8suiNvSovg0Hjz0fv57eSvg w==; X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="422309624" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="422309624" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jun 2023 14:06:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10732"; a="778710843" X-IronPort-AV: E=Sophos;i="6.00,218,1681196400"; d="scan'208";a="778710843" Received: from silpixa00400314.ir.intel.com (HELO silpixa00400314.ger.corp.intel.com) ([10.237.222.175]) by fmsmga004.fm.intel.com with ESMTP; 05 Jun 2023 14:06:15 -0700 From: Giovanni Cabiddu To: herbert@gondor.apana.org.au Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com, Hareshx Sankar Raj , Bolemx Sivanagaleela , Giovanni Cabiddu , Andy Shevchenko Subject: [RESEND 2/2] crypto: qat - unmap buffers before free for RSA Date: Mon, 5 Jun 2023 22:06:07 +0100 Message-Id: <20230605210607.7185-3-giovanni.cabiddu@intel.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230605210607.7185-1-giovanni.cabiddu@intel.com> References: <20230605210607.7185-1-giovanni.cabiddu@intel.com> MIME-Version: 1.0 Organization: Intel Research and Development Ireland Ltd - Co. Reg. #308263 - Collinstown Industrial Park, Leixlip, County Kildare - Ireland Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org From: Hareshx Sankar Raj The callback function for RSA frees the memory allocated for the source and destination buffers before unmapping them. This sequence is wrong. Change the cleanup sequence to unmap the buffers before freeing them. Fixes: 3dfaf0071ed7 ("crypto: qat - remove dma_free_coherent() for RSA") Signed-off-by: Hareshx Sankar Raj Co-developed-by: Bolemx Sivanagaleela Signed-off-by: Bolemx Sivanagaleela Reviewed-by: Giovanni Cabiddu Reviewed-by: Andy Shevchenko Signed-off-by: Giovanni Cabiddu --- drivers/crypto/intel/qat/qat_common/qat_asym_algs.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/crypto/intel/qat/qat_common/qat_asym_algs.c b/drivers/crypto/intel/qat/qat_common/qat_asym_algs.c index 8806242469a0..4128200a9032 100644 --- a/drivers/crypto/intel/qat/qat_common/qat_asym_algs.c +++ b/drivers/crypto/intel/qat/qat_common/qat_asym_algs.c @@ -520,12 +520,14 @@ static void qat_rsa_cb(struct icp_qat_fw_pke_resp *resp) err = (err == ICP_QAT_FW_COMN_STATUS_FLAG_OK) ? 0 : -EINVAL; - kfree_sensitive(req->src_align); - dma_unmap_single(dev, req->in.rsa.enc.m, req->ctx.rsa->key_sz, DMA_TO_DEVICE); + kfree_sensitive(req->src_align); + areq->dst_len = req->ctx.rsa->key_sz; + dma_unmap_single(dev, req->out.rsa.enc.c, req->ctx.rsa->key_sz, + DMA_FROM_DEVICE); if (req->dst_align) { scatterwalk_map_and_copy(req->dst_align, areq->dst, 0, areq->dst_len, 1); @@ -533,9 +535,6 @@ static void qat_rsa_cb(struct icp_qat_fw_pke_resp *resp) kfree_sensitive(req->dst_align); } - dma_unmap_single(dev, req->out.rsa.enc.c, req->ctx.rsa->key_sz, - DMA_FROM_DEVICE); - dma_unmap_single(dev, req->phy_in, sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); dma_unmap_single(dev, req->phy_out, -- 2.40.1