Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2455397rdb; Sun, 3 Dec 2023 18:33:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IEvn6MnuhNZ3doQIUfa05ajxBPQh6L7jBosHj2Xk0su3fQh5qSWbYaO08h4C4V6t8fkFdCk X-Received: by 2002:a17:90a:d18d:b0:286:6cc1:8671 with SMTP id fu13-20020a17090ad18d00b002866cc18671mr1318721pjb.86.1701657194269; Sun, 03 Dec 2023 18:33:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701657194; cv=none; d=google.com; s=arc-20160816; b=THt03j3nDkT256UfFeOPedbswQ6lCsnU5Y9/+H/9HuXpRLWGn5R87cL4L+SzaXJo9U hCWPsVUVMvdxYbb0TcQuLBqNirg1gzOvzZ4vWCdfS5bB85WcdqfwW8kzcEZsMuiAt5EX TwBbRM+z/Ry6M3w+I7HKJzzL9MORfLrdsvYLGmeycbDJj9cc6WpjwHuweU0Y4Eaqh2IX +93NBVEkDpyyyNA2kF7qH1wXv7rrPSdz9IOKvGCRcIYySGKZKwQ3NxB/IG6pbOpkci0K u/5/qhLcNFw0gvUCVFQD87Hg1HlMie4GrZAon5li0aN2UrXOzX8fYNa8opjk+M5GZOCp a0hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:user-agent:date:message-id :references:to:from:subject; bh=y6Pflur6kLUid1pJxLwqhLB75dFeff9pxjJFPzwwdyk=; fh=49F5/tZW3xWhUs+Xqs722rCfHRWmehAtw1jIaRBeGqQ=; b=XeWugD9iVAqpeGRZF00g94pI92eWHQQhv0vhNgBTZD0+Ye5z4kTNVpP7L9TCeJ5lnJ 01vXxwTNF4Mny07/NSo+FtvPdyg16q5XmYFyipzfmyZhkEXWLXxsR+KqH67rCJBZLLFV RRCIM4YPZiVFVrd6KJ0dhJ3UudC8BnCBTnrZI8OmV1PmBnTNdSxElBO1vPaFHYIFIWfQ MhgPgpWzopX561VHWdXmmc0uisSt8XOwE9oN9aqxynJ6+/H/yoJgopvW/ksJ5/pBG42T bOzmAeM194Ph6pT5Zy+1PLSrLd+0/KKh18b6+YBWByBhzMOdG7xoAiL5Kyq/3vZyduNI mYtw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto+bounces-519-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-crypto+bounces-519-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id pt4-20020a17090b3d0400b00286bfcdbe85si194853pjb.49.2023.12.03.18.33.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 18:33:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-crypto+bounces-519-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto+bounces-519-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-crypto+bounces-519-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 2B75EB207CE for ; Mon, 4 Dec 2023 02:33:12 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B28B13C38 for ; Mon, 4 Dec 2023 02:33:10 +0000 (UTC) X-Original-To: linux-crypto@vger.kernel.org Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 384C0D7 for ; Sun, 3 Dec 2023 18:14:24 -0800 (PST) Received: from kwepemm000005.china.huawei.com (unknown [172.30.72.55]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Sk6f31PBbzWj4w for ; Mon, 4 Dec 2023 10:13:31 +0800 (CST) Received: from [10.67.121.110] (10.67.121.110) by kwepemm000005.china.huawei.com (7.193.23.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 4 Dec 2023 10:14:21 +0800 Subject: Re: [PATCH 10/19] crypto: hisilicon/sec2 - Remove cfb and ofb From: liulongfang To: Herbert Xu , Linux Crypto Mailing List References: <2f75977b-1383-908d-bf32-5084ef260c53@huawei.com> Message-ID: <382efecd-5b2c-a328-3ef3-16d4b2b66590@huawei.com> Date: Mon, 4 Dec 2023 10:14:21 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 Precedence: bulk X-Mailing-List: linux-crypto@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: <2f75977b-1383-908d-bf32-5084ef260c53@huawei.com> Content-Type: text/plain; charset="gbk" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemm000005.china.huawei.com (7.193.23.27) X-CFilter-Loop: Reflected On 2023/12/1 11:37, liulongfang wrote: > On 2023/11/30 20:28, Herbert Xu wrote: >> Remove the unused CFB/OFB implementation. >> >> Signed-off-by: Herbert Xu >> --- >> >> drivers/crypto/hisilicon/sec2/sec_crypto.c | 24 ------------------------ >> 1 file changed, 24 deletions(-) >> >> diff --git a/drivers/crypto/hisilicon/sec2/sec_crypto.c b/drivers/crypto/hisilicon/sec2/sec_crypto.c >> index 6fcabbc87860..a1b65391f792 100644 >> --- a/drivers/crypto/hisilicon/sec2/sec_crypto.c >> +++ b/drivers/crypto/hisilicon/sec2/sec_crypto.c >> @@ -879,15 +879,11 @@ static int sec_setkey_##name(struct crypto_skcipher *tfm, const u8 *key,\ >> GEN_SEC_SETKEY_FUNC(aes_ecb, SEC_CALG_AES, SEC_CMODE_ECB) >> GEN_SEC_SETKEY_FUNC(aes_cbc, SEC_CALG_AES, SEC_CMODE_CBC) >> GEN_SEC_SETKEY_FUNC(aes_xts, SEC_CALG_AES, SEC_CMODE_XTS) >> -GEN_SEC_SETKEY_FUNC(aes_ofb, SEC_CALG_AES, SEC_CMODE_OFB) >> -GEN_SEC_SETKEY_FUNC(aes_cfb, SEC_CALG_AES, SEC_CMODE_CFB) >> GEN_SEC_SETKEY_FUNC(aes_ctr, SEC_CALG_AES, SEC_CMODE_CTR) >> GEN_SEC_SETKEY_FUNC(3des_ecb, SEC_CALG_3DES, SEC_CMODE_ECB) >> GEN_SEC_SETKEY_FUNC(3des_cbc, SEC_CALG_3DES, SEC_CMODE_CBC) >> GEN_SEC_SETKEY_FUNC(sm4_xts, SEC_CALG_SM4, SEC_CMODE_XTS) >> GEN_SEC_SETKEY_FUNC(sm4_cbc, SEC_CALG_SM4, SEC_CMODE_CBC) >> -GEN_SEC_SETKEY_FUNC(sm4_ofb, SEC_CALG_SM4, SEC_CMODE_OFB) >> -GEN_SEC_SETKEY_FUNC(sm4_cfb, SEC_CALG_SM4, SEC_CMODE_CFB) >> GEN_SEC_SETKEY_FUNC(sm4_ctr, SEC_CALG_SM4, SEC_CMODE_CTR) >> >> static int sec_cipher_pbuf_map(struct sec_ctx *ctx, struct sec_req *req, >> @@ -2197,16 +2193,6 @@ static struct sec_skcipher sec_skciphers[] = { >> .alg = SEC_SKCIPHER_ALG("xts(aes)", sec_setkey_aes_xts, SEC_XTS_MIN_KEY_SIZE, >> SEC_XTS_MAX_KEY_SIZE, AES_BLOCK_SIZE, AES_BLOCK_SIZE), >> }, >> - { >> - .alg_msk = BIT(4), >> - .alg = SEC_SKCIPHER_ALG("ofb(aes)", sec_setkey_aes_ofb, AES_MIN_KEY_SIZE, >> - AES_MAX_KEY_SIZE, SEC_MIN_BLOCK_SZ, AES_BLOCK_SIZE), >> - }, >> - { >> - .alg_msk = BIT(5), >> - .alg = SEC_SKCIPHER_ALG("cfb(aes)", sec_setkey_aes_cfb, AES_MIN_KEY_SIZE, >> - AES_MAX_KEY_SIZE, SEC_MIN_BLOCK_SZ, AES_BLOCK_SIZE), >> - }, >> { >> .alg_msk = BIT(12), >> .alg = SEC_SKCIPHER_ALG("cbc(sm4)", sec_setkey_sm4_cbc, AES_MIN_KEY_SIZE, >> @@ -2222,16 +2208,6 @@ static struct sec_skcipher sec_skciphers[] = { >> .alg = SEC_SKCIPHER_ALG("xts(sm4)", sec_setkey_sm4_xts, SEC_XTS_MIN_KEY_SIZE, >> SEC_XTS_MIN_KEY_SIZE, AES_BLOCK_SIZE, AES_BLOCK_SIZE), >> }, >> - { >> - .alg_msk = BIT(15), >> - .alg = SEC_SKCIPHER_ALG("ofb(sm4)", sec_setkey_sm4_ofb, AES_MIN_KEY_SIZE, >> - AES_MIN_KEY_SIZE, SEC_MIN_BLOCK_SZ, AES_BLOCK_SIZE), >> - }, >> - { >> - .alg_msk = BIT(16), >> - .alg = SEC_SKCIPHER_ALG("cfb(sm4)", sec_setkey_sm4_cfb, AES_MIN_KEY_SIZE, >> - AES_MIN_KEY_SIZE, SEC_MIN_BLOCK_SZ, AES_BLOCK_SIZE), >> - }, >> { >> .alg_msk = BIT(23), >> .alg = SEC_SKCIPHER_ALG("ecb(des3_ede)", sec_setkey_3des_ecb, SEC_DES3_3KEY_SIZE, >> >> . >> > Hi,Herbert: > Removed OFB and CFB modes. There are still some codes that need to be deleted. > I wrote the complete patch content below: > > --- a/drivers/crypto/hisilicon/sec2/sec_crypto.c > +++ b/drivers/crypto/hisilicon/sec2/sec_crypto.c > static int sec_cipher_pbuf_map(struct sec_ctx *ctx, struct sec_req *req, > @@ -2032,8 +2028,6 @@ static int sec_skcipher_cryptlen_check(struct sec_ctx *ctx, > ret = -EINVAL; > } > break; > - case SEC_CMODE_CFB: > - case SEC_CMODE_OFB: > case SEC_CMODE_CTR: > if (unlikely(ctx->sec->qm.ver < QM_HW_V3)) { > dev_err(dev, "skcipher HW version error!\n"); > > > --- a/drivers/crypto/hisilicon/sec2/sec_crypto.h > +++ b/drivers/crypto/hisilicon/sec2/sec_crypto.h > @@ -37,8 +37,6 @@ enum sec_mac_len { > enum sec_cmode { > SEC_CMODE_ECB = 0x0, > SEC_CMODE_CBC = 0x1, > - SEC_CMODE_CFB = 0x2, > - SEC_CMODE_OFB = 0x3, > SEC_CMODE_CTR = 0x4, > SEC_CMODE_CCM = 0x5, > SEC_CMODE_GCM = 0x6, > > Hi Herbert: After reviewing the code, I found that there is still a place where the code needs to be modified. A register value indicating OFB and CFB modes needs to be updated: --- a/drivers/crypto/hisilicon/sec2/sec_main.c +++ b/drivers/crypto/hisilicon/sec2/sec_main.c @@ -159,7 +159,7 @@ static const struct hisi_qm_cap_info sec_basic_info[] = { {SEC_CORE_NUM_CAP, 0x313c, 8, GENMASK(7, 0), 0x4, 0x4, 0x4}, {SEC_CORES_PER_CLUSTER_NUM_CAP, 0x313c, 0, GENMASK(7, 0), 0x4, 0x4, 0x4}, {SEC_CORE_ENABLE_BITMAP, 0x3140, 32, GENMASK(31, 0), 0x17F, 0x17F, 0xF}, - {SEC_DRV_ALG_BITMAP_LOW, 0x3144, 0, GENMASK(31, 0), 0x18050CB, 0x18050CB, 0x187F0FF}, + {SEC_DRV_ALG_BITMAP_LOW, 0x3144, 0, GENMASK(31, 0), 0x18050CB, 0x18050CB, 0x18670CF}, {SEC_DRV_ALG_BITMAP_HIGH, 0x3148, 0, GENMASK(31, 0), 0x395C, 0x395C, 0x395C}, {SEC_DEV_ALG_BITMAP_LOW, 0x314c, 0, GENMASK(31, 0), 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF}, {SEC_DEV_ALG_BITMAP_HIGH, 0x3150, 0, GENMASK(31, 0), 0x3FFF, 0x3FFF, 0x3FFF}, Thanks, Longfang. > Thanks, > Longfang. > > . >