From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5E90CC369D1 for ; Sun, 20 Apr 2025 19:45:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=bB/n0tuy5MXIwOkt9tAaesxs0ng5wAqNy5T0xn6i1nA=; b=TB2D0vmSGwf73auqCPLcgXccMo veRAy/97Wo4XbTNPXCrswP/pMSvkscv2fXp98Nfl/J3mbc/F+P5WFuIrp5rkI2XFou7K5ZElLbC8t DVKBBjSSF/fwYPXAh7qKuJ92tQa9YmsQTp+iMBWCY7lalPpLId+vnkXDfRYylOFeOwXscXM8tkYcq KxrNkuti1U7LyyJMYoda/S3shCb54WdNaZAvWuGyV9o6DyXGBlcKMfNdwLla01e+6Ar6eseKCzp8R sQNXJBig/VKhQC2NwRAgfkTHK2NabsVAooegv1M/9PKKRqrCIZqlYezIklVzFOJeisCALvd6Gg7QU 6Dpzep1A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u6abV-00000002yvu-0iEE; Sun, 20 Apr 2025 19:45:25 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u6aKO-00000002vlp-0LTk; Sun, 20 Apr 2025 19:27:44 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id C49B961164; Sun, 20 Apr 2025 19:27:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C88C2C4CEED; Sun, 20 Apr 2025 19:27:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1745177263; bh=HMSzkB91c7IREkKSrVwmdHo1uPEnRz+uSzHzcQq/qGI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d4LM7CNbFNHSY9hnaV2d6rZrucqFS5jA0FMbMBdwQhTnV7B6CFjDepHfolH+jxCrh 5XrCpkEXF1CKL3Wv+meg+/WDdpWDdzMR6d0YTyx/HMTSK39QvEDQeB71H5T3OYMhbQ 5VulWkvXdM9Xy1c1JPSKPDoyxWJdCE7DGFYzgLOZ3vzo4owv5FqfvufKOKkpiWf6ak UXWhl2RLrqSHRmi1NhZJ+h6oMbe+HEnlebNSYSvOQn5oR2L7vVspR7zZJYQhFQjLyp PtqZ72j6asn+SwPhNngp7lPFqIHWEE/AUUj4NuLpX4GKx59STfPOQ4Q/f6vEY1VZeM Yzu6bjYzg4QGw== From: Eric Biggers To: linux-crypto@vger.kernel.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, x86@kernel.org, "Jason A . Donenfeld" , Ard Biesheuvel Subject: [PATCH v2 13/13] crypto: lib/poly1305 - remove INTERNAL symbol and selection of CRYPTO Date: Sun, 20 Apr 2025 12:26:09 -0700 Message-ID: <20250420192609.295075-14-ebiggers@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250420192609.295075-1-ebiggers@kernel.org> References: <20250420192609.295075-1-ebiggers@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Eric Biggers Now that the architecture-optimized Poly1305 kconfig symbols are visible without CRYPTO, there is no need for CRYPTO_LIB_POLY1305 to select CRYPTO. So, remove that. This makes the indirection through the CRYPTO_LIB_POLY1305_INTERNAL symbol unnecessary, so get rid of that and just use CRYPTO_LIB_POLY1305 directly. Finally, make the fallback to the generic implementation use a default value instead of a select; this makes it consistent with how the arch-optimized code gets enabled and also with how CRYPTO_LIB_BLAKE2S_GENERIC gets enabled. Signed-off-by: Eric Biggers --- arch/arm/lib/crypto/Kconfig | 2 +- arch/arm64/lib/crypto/Kconfig | 2 +- arch/mips/lib/crypto/Kconfig | 2 +- arch/powerpc/lib/crypto/Kconfig | 2 +- arch/x86/lib/crypto/Kconfig | 2 +- crypto/Kconfig | 2 +- lib/crypto/Kconfig | 16 +++++----------- 7 files changed, 11 insertions(+), 17 deletions(-) diff --git a/arch/arm/lib/crypto/Kconfig b/arch/arm/lib/crypto/Kconfig index 5d10bd13fc8df..e8444fd0aae30 100644 --- a/arch/arm/lib/crypto/Kconfig +++ b/arch/arm/lib/crypto/Kconfig @@ -18,7 +18,7 @@ config CRYPTO_CHACHA20_NEON default CRYPTO_LIB_CHACHA select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_ARM tristate - default CRYPTO_LIB_POLY1305_INTERNAL + default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 diff --git a/arch/arm64/lib/crypto/Kconfig b/arch/arm64/lib/crypto/Kconfig index 2a8ff7cfc08d3..0b903ef524d85 100644 --- a/arch/arm64/lib/crypto/Kconfig +++ b/arch/arm64/lib/crypto/Kconfig @@ -8,7 +8,7 @@ config CRYPTO_CHACHA20_NEON select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_NEON tristate depends on KERNEL_MODE_NEON - default CRYPTO_LIB_POLY1305_INTERNAL + default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 diff --git a/arch/mips/lib/crypto/Kconfig b/arch/mips/lib/crypto/Kconfig index 454354e30d76c..0670a170c1be0 100644 --- a/arch/mips/lib/crypto/Kconfig +++ b/arch/mips/lib/crypto/Kconfig @@ -6,7 +6,7 @@ config CRYPTO_CHACHA_MIPS default CRYPTO_LIB_CHACHA select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_MIPS tristate - default CRYPTO_LIB_POLY1305_INTERNAL + default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 diff --git a/arch/powerpc/lib/crypto/Kconfig b/arch/powerpc/lib/crypto/Kconfig index 6627d28cd24e0..bf6d0ab22c27d 100644 --- a/arch/powerpc/lib/crypto/Kconfig +++ b/arch/powerpc/lib/crypto/Kconfig @@ -8,8 +8,8 @@ config CRYPTO_CHACHA20_P10 select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_P10 tristate depends on PPC64 && CPU_LITTLE_ENDIAN && VSX - default CRYPTO_LIB_POLY1305_INTERNAL + default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 select CRYPTO_LIB_POLY1305_GENERIC diff --git a/arch/x86/lib/crypto/Kconfig b/arch/x86/lib/crypto/Kconfig index e44403d9677f5..546fe2afe0b51 100644 --- a/arch/x86/lib/crypto/Kconfig +++ b/arch/x86/lib/crypto/Kconfig @@ -20,7 +20,7 @@ config CRYPTO_CHACHA20_X86_64 select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_X86_64 tristate depends on 64BIT - default CRYPTO_LIB_POLY1305_INTERNAL + default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 diff --git a/crypto/Kconfig b/crypto/Kconfig index 832af6363951f..9878286d1d683 100644 --- a/crypto/Kconfig +++ b/crypto/Kconfig @@ -954,12 +954,12 @@ config CRYPTO_POLYVAL cryptographic hash function. config CRYPTO_POLY1305 tristate "Poly1305" select CRYPTO_HASH + select CRYPTO_LIB_POLY1305 select CRYPTO_LIB_POLY1305_GENERIC - select CRYPTO_LIB_POLY1305_INTERNAL help Poly1305 authenticator algorithm (RFC7539) Poly1305 is an authenticator algorithm designed by Daniel J. Bernstein. It is used for the ChaCha20-Poly1305 AEAD, specified in RFC7539 for use diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig index c6ab724c1dbd9..af2368799579f 100644 --- a/lib/crypto/Kconfig +++ b/lib/crypto/Kconfig @@ -112,25 +112,19 @@ config CRYPTO_ARCH_HAVE_LIB_POLY1305 accelerated implementation of the Poly1305 library interface, either builtin or as a module. config CRYPTO_LIB_POLY1305_GENERIC tristate + default CRYPTO_LIB_POLY1305 if !CRYPTO_ARCH_HAVE_LIB_POLY1305 help - This symbol can be depended upon by arch implementations of the - Poly1305 library interface that require the generic code as a - fallback, e.g., for SIMD implementations. If no arch specific - implementation is enabled, this implementation serves the users - of CRYPTO_LIB_POLY1305. - -config CRYPTO_LIB_POLY1305_INTERNAL - tristate - select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n + This symbol can be selected by arch implementations of the Poly1305 + library interface that require the generic code as a fallback, e.g., + for SIMD implementations. If no arch specific implementation is + enabled, this implementation serves the users of CRYPTO_LIB_POLY1305. config CRYPTO_LIB_POLY1305 tristate - select CRYPTO - select CRYPTO_LIB_POLY1305_INTERNAL help Enable the Poly1305 library interface. This interface may be fulfilled by either the generic implementation or an arch-specific one, if one is available and enabled. -- 2.49.0