Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1606209pxj; Fri, 21 May 2021 19:48:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxuAB02tBZ70Egur/LwCGhpIBpN3ByDVG8izNZKPTHnroW5iJ4aCUOG1lulQmJX8X94GsdU X-Received: by 2002:a05:6e02:1cac:: with SMTP id x12mr2062427ill.43.1621651691517; Fri, 21 May 2021 19:48:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621651691; cv=none; d=google.com; s=arc-20160816; b=M/KLTf60s3fWLLI9ySc+Y9sNORkQjJnp6SdhLJvGDWY7uvf4Pk+5q4Cssa+91Xl/SB Ula63EEcLDuzbRFCbxi+JX7tM1QuRdQBtocLRf1uIUYjNAyblgMvUIUFnz7N1NyQI+lZ ytK2tvA7a8NZBenlnbQKfWLn1gSRJWG28QOqro22yVf9DCCZowc8EDr1yBE++5exuviL c9CnrojzWR1LDSyopc597kwScCxMt298nY1DNn/+WUyeM64CzdVgLg6ArMbBqDbxuGcm JPGWQyEGznEoAAOnmSG8i5mFGOdc5sP0Xs9fjzdIR1Met6+1aoopfVi2S/DHD9fccvO3 2xiA== 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=kiAcc4A4POcw5Z/TOlDNrDfvIw2m0Dq7wHHN4kkS8X33a9/wsjEElEtVAR83nKiok1 XRa6EAtDKUg+yj9/CxIJRdoHZSBt0layVPK3NNqeMTh0CDMokSUiggQlExomTEGaHjHD xUCT10OgkoKOkkxYmU/pa56k8ecIsDRX/qo5ufwKcECmFBR8PpfyO90y4GwiWjcpZ9Op sjka6GQo9ZAN35XUavn+x4EPp9jnAxldUWNrZ6R6CSV1V4P4Vfm8of2gsJrxaNcUoLbi yt82usLObjox/mRPWdlypAaMN46dsyTIiARy3850s4BzK/B85n3d1wTKPwbTVreMPj6K hVXA== 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 l23si6465447jas.94.2021.05.21.19.47.58; Fri, 21 May 2021 19:48:11 -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 S231195AbhEVCtI (ORCPT + 99 others); Fri, 21 May 2021 22:49:08 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:3623 "EHLO szxga05-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231190AbhEVCtH (ORCPT ); Fri, 21 May 2021 22:49:07 -0400 Received: from dggems702-chm.china.huawei.com (unknown [172.30.72.60]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4Fn78n5gd8zQpHh; Sat, 22 May 2021 10:44:09 +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:47:42 +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:47:42 +0800 From: Hui Tang To: , CC: , , , Subject: [PATCH v3 2/4] crypto: ecdh - fix 'ecdh_init' Date: Sat, 22 May 2021 10:44:29 +0800 Message-ID: <1621651471-42010-3-git-send-email-tanghui20@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1621651471-42010-1-git-send-email-tanghui20@huawei.com> References: <1621651471-42010-1-git-send-email-tanghui20@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) 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