Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp505524rwd; Thu, 1 Jun 2023 03:17:26 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5RyATlUA9VX/sk+SEgsSpRJSawABdc/eZSRBYKfx6xLVNWl1M/KhavyROfyrwpWDzu+b7o X-Received: by 2002:a05:6a21:9998:b0:112:cf5:d5fa with SMTP id ve24-20020a056a21999800b001120cf5d5famr6628051pzb.5.1685614646671; Thu, 01 Jun 2023 03:17:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685614646; cv=none; d=google.com; s=arc-20160816; b=KiT44hFHhsx9Yeywh8cxDnkkc2hu7G9jXDcucFQwR7wjsOO/l4fAUpXKh4PF9WtBRL Cq4X1jEFplr5Rh+0ucWsfc8jfKJ9WLggneD30O+aRhUwavzrIYZ0e5XU61ADE8b1bxwG V5m7BnKnp2WkRyIoSUo2g93V49ehttEVhztqVlE6dI+YgDYillj2UG6QO+z8ws7SnBSL MsGn//chss85CsGOedj2pTaXhVqNRxEQZU6xNuMERFdenGarns4gph1YW7vr/90kehqc U2n1o67cAv4f6++9uowchYZ2rELdmYabBJPDymdyowKic7oAWYUwI87oP4vvpnC8n0WS LH/w== 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=j7niI+56Pr0/rHADZeB1GefGM/TjzEQstxZQHKw0EP4=; b=pv/94FjSHr9RFzhHIAhuUIo0V0aMcTxaHsGFi0xL1QZ3z8rv2Fwqo5bpnfiIgbLB3L i7BzSyYQrgAoc+qLwflH8qSh6aWmDh+kapJGvom4ACBCgwnOxQWPaXpSXRDDd6H45QFV ZAwfDbgLOhlmwuwy/I/R7c/e5t4gH6/m43WJdTpoHDUrkEf9ltXdhv/wtZa1uBBpmVl8 Kmq1iM89Q+b12J0N1/Iv6YHjDj+bYtRR+Gm4q9hssYComyzFguCkgksmX5Rt63OH4V3b JVi2/EMnckqVLi40w7S8oLwB9Z+aM1dJK7LGfIpWFjeKYb58fAZwTS1D4ZTas74LdXMm zCfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MwZK25MP; 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 j72-20020a638b4b000000b00524ea62bcbcsi2698104pge.209.2023.06.01.03.17.13; Thu, 01 Jun 2023 03:17:26 -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=MwZK25MP; 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 S232356AbjFAKMS (ORCPT + 99 others); Thu, 1 Jun 2023 06:12:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47090 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233252AbjFAKLM (ORCPT ); Thu, 1 Jun 2023 06:11:12 -0400 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B93A10FF for ; Thu, 1 Jun 2023 03:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1685614210; x=1717150210; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=doZIg1eYy80ZoloO/1MxKEKosOxwnwuL9eiwma8GATk=; b=MwZK25MP1aXxRZ1CgRPZDaPu+CI2MTROdWh6oNtaOm0bxbfKeskbQUoc npyIewifZc7FNri6awf8XflXDgb00KusChrFJay8HLaDKXFWi7hI7XC+v lPlCmqB2bdevy6dmGsABNZhuJ7l4JwLDXqnx3ySovkbzuxypl0txnuy2c YI5EmVuXPTp0Sy/sLgQd++oNb78aq1CAwDWlxnVUwc1PB6XAKpQsqY3PP bkEnCb2tscYA4EEH5ccALHN78kIenYy1c1hVk4f2wvhJtFPpEBUu18N6P 7bTeKdmaJjFWfZydqBKxdEaf+Pk1C7YSbmDr/SSNg+CmetQWRM9Rub2vJ Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="358791279" X-IronPort-AV: E=Sophos;i="6.00,209,1681196400"; d="scan'208";a="358791279" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2023 03:10:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="1037435186" X-IronPort-AV: E=Sophos;i="6.00,209,1681196400"; d="scan'208";a="1037435186" Received: from silpixa00400314.ir.intel.com (HELO silpixa00400314.ger.corp.intel.com) ([10.237.222.175]) by fmsmga005.fm.intel.com with ESMTP; 01 Jun 2023 03:10:08 -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 Subject: [PATCH 2/2] crypto: qat - unmap buffers before free for RSA Date: Thu, 1 Jun 2023 11:10:00 +0100 Message-Id: <20230601101000.18293-3-giovanni.cabiddu@intel.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230601101000.18293-1-giovanni.cabiddu@intel.com> References: <20230601101000.18293-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.6 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 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