Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp315239pxt; Fri, 6 Aug 2021 02:45:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9UrpBF8T2aGNiJsy0XKL8ozfQXX+AD0+H0dNGDOIqHtZl9uAxIuRgst1TiPAzYVhnPYDO X-Received: by 2002:a02:b682:: with SMTP id i2mr7691556jam.97.1628243148422; Fri, 06 Aug 2021 02:45:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628243148; cv=none; d=google.com; s=arc-20160816; b=C6r2OqL893cwhH0eQ6vmbxfI/FqVT47YIIDGByN6N2/xtYPtt5xJxld6z0SdvXKTXu oNFb5I1ppP8VrtRuAiRWfX4zxMmMnDl7QxwRAhdFVnN1BUJz/MDemmyxAcMXQf5zB7JX /dmh1RhbkpsueP+pMQ6q568gIwmtJXwVhHUjv16jDXlyh1l+VKNlHo8ygRtSLPWoEgQz jOjhCj982UD0PvaiTV1ORsAWN7E7tG7YXIHpGGJcbOP/LQWNXpI4UgZVtKmRNaxIez0F 46F5GSleW3pyMszo4jlL+LLo/40UOvtQCBrCXD0sQBNgpm1X3Tnk//1gjQ4u9f8FbmZG lLrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=n+wOO736Khi0cE0RQuyhwH6jieaMhcSHzzkOJA4eFAs=; b=cF8UulBor8A5XIRioGpMs4OY91SOzQIvK4+ZyvizBNCg2FsuXnGzU8usjIBhwHkYt/ 9jZ60vpcwz8/cLusNLqF0RRbq7bq6sNfAMUoR2Gq6Vi7c0/iOhV8sp2HqpOcfEsYBnx/ nMy3C2iY4XQDf25zj1EA3UBP4mnflzGzoYS9WYJHSk5xWrgt4nRTx6Xvyir5TieCBeE/ gQExIK0OCMJnuZix5V/2zuuDf1D06AY/CqIycwkE7qy0iko6Y+RJfeF80HB12BUDlNIU D/YQn0GGtNhb+L0wg4sIXaMMlVMzrHseoSoZDxm80Np34e0S6pGJ/lhzLvajylkZ++bM ow0g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k5si9056775jaa.25.2021.08.06.02.45.35; Fri, 06 Aug 2021 02:45:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244646AbhHFJpl (ORCPT + 99 others); Fri, 6 Aug 2021 05:45:41 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:8373 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242680AbhHFJpk (ORCPT ); Fri, 6 Aug 2021 05:45:40 -0400 Received: from dggemv704-chm.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Gh0qG5ZLQz84bg; Fri, 6 Aug 2021 17:41:30 +0800 (CST) Received: from dggpeml500012.china.huawei.com (7.185.36.15) by dggemv704-chm.china.huawei.com (10.3.19.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Fri, 6 Aug 2021 17:45:23 +0800 Received: from huawei.com (10.69.192.56) by dggpeml500012.china.huawei.com (7.185.36.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Fri, 6 Aug 2021 17:45:23 +0800 From: Kai Ye To: CC: , , , Subject: [PATCH v2 3/5] crypto: hisilicon/sec - fix the max length of AAD for the CCM mode Date: Fri, 6 Aug 2021 17:44:24 +0800 Message-ID: <1628243066-32648-4-git-send-email-yekai13@huawei.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1628243066-32648-1-git-send-email-yekai13@huawei.com> References: <1628243066-32648-1-git-send-email-yekai13@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500012.china.huawei.com (7.185.36.15) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Fix the maximum length of AAD for the CCM mode due to the hardware limited. Signed-off-by: Kai Ye --- drivers/crypto/hisilicon/sec2/sec_crypto.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/crypto/hisilicon/sec2/sec_crypto.c b/drivers/crypto/hisilicon/sec2/sec_crypto.c index 890faf8..387fb3c 100644 --- a/drivers/crypto/hisilicon/sec2/sec_crypto.c +++ b/drivers/crypto/hisilicon/sec2/sec_crypto.c @@ -63,6 +63,7 @@ #define SEC_AUTH_CIPHER 0x1 #define SEC_MAX_MAC_LEN 64 #define SEC_MAX_AAD_LEN 65535 +#define SEC_MAX_CCM_AAD_LEN 65279 #define SEC_TOTAL_MAC_SZ (SEC_MAX_MAC_LEN * QM_Q_DEPTH) #define SEC_PBUF_SZ 512 @@ -2218,6 +2219,10 @@ static int sec_aead_spec_check(struct sec_ctx *ctx, struct sec_req *sreq) } if (c_mode == SEC_CMODE_CCM) { + if (unlikely(req->assoclen > SEC_MAX_CCM_AAD_LEN)) { + dev_err_ratelimited(dev, "CCM input aad parameter is too long!\n"); + return -EINVAL; + } ret = aead_iv_demension_check(req); if (ret) { dev_err(dev, "aead input iv param error!\n"); -- 2.7.4