Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp1266368pxm; Thu, 3 Mar 2022 13:49:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJwoFLytz9JTrLBsTv4/CYu2pLfQs0fukYzSDFpwAXKJwTEVw2SWecJKcKqAyMyz2JbsNv7q X-Received: by 2002:a17:907:1b20:b0:6da:649b:d99e with SMTP id mp32-20020a1709071b2000b006da649bd99emr7544614ejc.712.1646344199706; Thu, 03 Mar 2022 13:49:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646344199; cv=none; d=google.com; s=arc-20160816; b=qXXAUqpclDb9ekouU5SZUT+BtlmjuoRrhJO67+SuV+1cYLYdnvy8GGY/e9GNT3Qi20 Epbo9sXKu/AjsMC5+m2gZJQySkkXdDH7Dani+sxwhTWwz/ke7Y33h+kAWU1UNTLXEA09 Q6LW0vBzmWa+YMvwg5SUpGurHXkBHL96wxZoENyP1zS1NPVpe9cP7A+peC79Dvrf4Ak9 otpNpX5wlHVR9b0PxrS8p/tb0SZQ3ZWBfw/RbHF3xheRkknFJjkz1yql0HXDPUg9MDta zWalYhRnPRtvSM33Di7bvUuIKrknq+4a0PMEMTEEx6axS2FemsQfBokw6U6n+PGaKt93 ITzQ== 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=Ca4mj0NPSDLDt/GmjX8RDaEFXPMpGxGA4Eoe1hPyvQk=; b=uBfO3vL39Sbr1uwMlmyBWMpriTLzXEeBexmyLr+pesxJNCeAZXc+DJq+TDdapubuHz 7HXky+cXSSHme57tNgcfvpAwliAH7Gq3VEKQG2hLTnpkzW1JcwXy66GQxoYZtTGt0o/b Wb0Oexn5ZJiuMPzyh/+oFAwR3L/ski3SHttG/nErUKjDhiLznKWHtiLt1D4CaifHNqiH JGTXssA9wtjbWuTACbvCnFCmTW0QdlRXQNHEn+ovQ4kiJ5NQVv7nhhwSjvc6diiddvl6 ryTZm7bEblr7k5wiDSbWTRPIBNHx9k5MdEck6YIFKp55xJuw/Nq2W6SmVra9YtfGxlGS kseA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=UGIIrBE8; 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 o6-20020a056402438600b00415c8da6b79si2234525edc.543.2022.03.03.13.49.28; Thu, 03 Mar 2022 13:49:59 -0800 (PST) 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=UGIIrBE8; 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 S232161AbiCCSO0 (ORCPT + 99 others); Thu, 3 Mar 2022 13:14:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57502 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233816AbiCCSOZ (ORCPT ); Thu, 3 Mar 2022 13:14:25 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 904ECEF7AF for ; Thu, 3 Mar 2022 10:13:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646331219; x=1677867219; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YvFtguEdVtYSvc/8BUWq1lfFeWQ9inpeeCp0rT5BQ+M=; b=UGIIrBE8QdnGO3150RnXXCGYOqi/jim7bsIsf0uHxwLbqeDVrGssx61F fvKj2wcWQA8zQsQmyolR7tlP30KfKkAph7LDRVEWJ5qcCf8vL+NTBd8BJ NxXWoSo9ZVL1KS+wd8xvFXF1NxEz8SG12JVTl4lX7SrA4G0YEMW5cNkoa CYNIxvUvVgjtPehebmvRiXAAI1q+GK9iJ/ywGmSvhc69DF6m9thMVxCfP d48B3VF029BjdaSXmj/pZApnoAhWduYFClBYAzUm4XqUV858838SaRPAw KTRx8BMujCoaK/Q+7FkhpHy+m4DIJgU9KsqadOaG6sFu1DaIbkWnsYxp7 Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10275"; a="278447794" X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="278447794" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2022 10:00:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,151,1643702400"; d="scan'208";a="640279734" Received: from silpixa00400314.ir.intel.com (HELO silpixa00400314.ger.corp.intel.com) ([10.237.222.76]) by fmsmga002.fm.intel.com with ESMTP; 03 Mar 2022 10:00:55 -0800 From: Giovanni Cabiddu To: herbert@gondor.apana.org.au Cc: linux-crypto@vger.kernel.org, qat-linux@intel.com, Kyle Sanderson , Vlad Dronov , Giovanni Cabiddu , Marco Chiappero , Wojciech Ziemba Subject: [RFC 3/3] crypto: qat - remove CRYPTO_ALG_ALLOCATES_MEMORY flag Date: Thu, 3 Mar 2022 18:00:36 +0000 Message-Id: <20220303180036.13475-4-giovanni.cabiddu@intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220303180036.13475-1-giovanni.cabiddu@intel.com> References: <20220303180036.13475-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=-7.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 Remove the CRYPTO_ALG_ALLOCATES_MEMORY flag from the aead and skcipher alg structures. This allows the QAT driver to be used by dm-crypt after it has been changed to (1) use pre-allocated buffers in the datapath and (2) to handle skcipher and aead requests with the CRYPTO_TFM_REQ_MAY_BACKLOG flag set. Signed-off-by: Giovanni Cabiddu Reviewed-by: Marco Chiappero Reviewed-by: Wojciech Ziemba --- drivers/crypto/qat/qat_common/qat_algs.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/qat/qat_common/qat_algs.c b/drivers/crypto/qat/qat_common/qat_algs.c index 765377cebcca..38ccb20c507e 100644 --- a/drivers/crypto/qat/qat_common/qat_algs.c +++ b/drivers/crypto/qat/qat_common/qat_algs.c @@ -1588,7 +1588,7 @@ static struct aead_alg qat_aeads[] = { { .cra_name = "authenc(hmac(sha1),cbc(aes))", .cra_driver_name = "qat_aes_cbc_hmac_sha1", .cra_priority = 4001, - .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct qat_alg_aead_ctx), .cra_module = THIS_MODULE, @@ -1605,7 +1605,7 @@ static struct aead_alg qat_aeads[] = { { .cra_name = "authenc(hmac(sha256),cbc(aes))", .cra_driver_name = "qat_aes_cbc_hmac_sha256", .cra_priority = 4001, - .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct qat_alg_aead_ctx), .cra_module = THIS_MODULE, @@ -1622,7 +1622,7 @@ static struct aead_alg qat_aeads[] = { { .cra_name = "authenc(hmac(sha512),cbc(aes))", .cra_driver_name = "qat_aes_cbc_hmac_sha512", .cra_priority = 4001, - .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct qat_alg_aead_ctx), .cra_module = THIS_MODULE, @@ -1640,7 +1640,7 @@ static struct skcipher_alg qat_skciphers[] = { { .base.cra_name = "cbc(aes)", .base.cra_driver_name = "qat_aes_cbc", .base.cra_priority = 4001, - .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY, + .base.cra_flags = CRYPTO_ALG_ASYNC, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), .base.cra_alignmask = 0, @@ -1658,7 +1658,7 @@ static struct skcipher_alg qat_skciphers[] = { { .base.cra_name = "ctr(aes)", .base.cra_driver_name = "qat_aes_ctr", .base.cra_priority = 4001, - .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_ALLOCATES_MEMORY, + .base.cra_flags = CRYPTO_ALG_ASYNC, .base.cra_blocksize = 1, .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), .base.cra_alignmask = 0, @@ -1676,8 +1676,7 @@ static struct skcipher_alg qat_skciphers[] = { { .base.cra_name = "xts(aes)", .base.cra_driver_name = "qat_aes_xts", .base.cra_priority = 4001, - .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK | - CRYPTO_ALG_ALLOCATES_MEMORY, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct qat_alg_skcipher_ctx), .base.cra_alignmask = 0, -- 2.35.1