Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1596186pxj; Fri, 21 May 2021 19:25:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1qB1DoHI3XWDS7EoUbo6Z4xOVPeFlmRGDlXHWFzu+JUUBa5grh8SfLpK4EV0eUcXs+Y/N X-Received: by 2002:a17:906:63d2:: with SMTP id u18mr12913239ejk.186.1621650307575; Fri, 21 May 2021 19:25:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621650307; cv=none; d=google.com; s=arc-20160816; b=YrrES2s6OxCbU/QRkPFzN6rkpKEQBd3XmyyQcPDHrr2U3rXPQ2bAxnGFyX83wV8Cmh /eOeGaKCqR71+Jn5QACuhgVJduoV79zOJ73a5toNSasWu16eHcYKsG+4hR6EoBnDDY4o GHo/GUtoxQL9R32AWairropty4HjAdNUKJHuIctrkjBM/o6F9s6pUNo6d79RfTAkr7pl TnBXLFZ4ZUmbEut7iYMN3ajF2dbBLfW4gDXHCKtS5zygEWTN32ax4/HhlAKh05g0IplP fj1oM4qAoqt7GFPz8l2IIH4zcWVPzmLH+I92jYqv8kfgK71ludam+XmOA1ljffDKF3HN Me1g== 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=ntHhRGIpJd8U6pcaY7jGyCbMbeJYdOVujG6L7Inev70=; b=RTBp8NRaeAqL907bz68CmFIqgLv6gJKRCGv1H96JcubmjlBPECcWPf7kujg2tu2lxr glEmN5XzgT/yUZdruyZ1qBVBQKorblUUR9m43FAVsKsR/86UDHo8HLhTNs3+hSLMNbUp PENfq+h7yIHj8YViNUmk+bFYitPsOxyGyC2AlOsvgCOJvDuIgKdA6Hz7aSPjXx+1tlPA 5RoUbMLUqX8GUsGWlB7Myvog8D74pMCYcEgXDrRLCf+lr2aWG1X89MboMSXVAHO0zLoO Um/xCECRIoCbmwaiJdAW/g3hzzmLogZgGM/hkUcQgGWvACuGXt9/bjnexhqTUPhuiVMh K+Lg== 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 u24si610431ejy.37.2021.05.21.19.24.44; Fri, 21 May 2021 19:25:07 -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 S231153AbhEVCZ5 (ORCPT + 99 others); Fri, 21 May 2021 22:25:57 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:5659 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230477AbhEVCZy (ORCPT ); Fri, 21 May 2021 22:25:54 -0400 Received: from dggems702-chm.china.huawei.com (unknown [172.30.72.60]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4Fn6fq22Q8z1BPn2; Sat, 22 May 2021 10:21:39 +0800 (CST) Received: from dggemi760-chm.china.huawei.com (10.1.198.146) by dggems702-chm.china.huawei.com (10.3.19.179) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Sat, 22 May 2021 10:24:27 +0800 Received: from localhost.localdomain (10.67.165.24) by dggemi760-chm.china.huawei.com (10.1.198.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Sat, 22 May 2021 10:24:27 +0800 From: Hui Tang To: , CC: , , , Subject: [PATCH v2 2/4] crypto: ecdh - fix 'ecdh_init' Date: Sat, 22 May 2021 10:21:22 +0800 Message-ID: <1621650084-25505-3-git-send-email-tanghui20@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1621650084-25505-1-git-send-email-tanghui20@huawei.com> References: <1621650084-25505-1-git-send-email-tanghui20@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggemi760-chm.china.huawei.com (10.1.198.146) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org NIST P192 is not unregistered if failed to register NIST P256, actually it need to unregister the algorithms already registered. Signed-off-by: Hui Tang --- crypto/ecdh.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/crypto/ecdh.c b/crypto/ecdh.c index 4227d35..e2c4808 100644 --- a/crypto/ecdh.c +++ b/crypto/ecdh.c @@ -183,7 +183,16 @@ static int ecdh_init(void) ret = crypto_register_kpp(&ecdh_nist_p192); ecdh_nist_p192_registered = ret == 0; - return crypto_register_kpp(&ecdh_nist_p256); + ret = crypto_register_kpp(&ecdh_nist_p256); + if (ret) + goto nist_p256_error; + + return 0; + +nist_p256_error: + if (ecdh_nist_p192_registered) + crypto_unregister_kpp(&ecdh_nist_p192); + return ret; } static void ecdh_exit(void) -- 2.8.1