Re: [PATCH] crypto: lib/Kconfig - fix chacha/poly1305 dependencies more more

Arnd Bergmann
2025-02-25T21:50:34Z

On Tue, Feb 25, 2025, at 22:40, Arnd Bergmann wrote:
> On Tue, Feb 25, 2025, at 22:33, Will Deacon wrote:
>> On Tue, Feb 25, 2025 at 05:42:07PM +0100, Arnd Bergmann wrote:
>>> From: Arnd Bergmann <arnd@arndb.de>
>>>
>>> A recent change tries to fix Kconfig dependencies, but introduced
>>> two problems in the process:
>>>
>>> - only arm, powerpc and x86 are changed, while mips, arm64 and s390
>>> are now broken
>>>
>>> - there are now configurations where the architecture enables its
>>> own helper functions as loadable modules, but they remain silently
>>> unused because CRYPTO_LIB_* falls back to the generic helpers
>>>
>>> Address both by changing the logic again: the architecture functions
>>> select CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA, which may be a loadable
>>> module or built-in, and this controls whether the library is
>>> also built-in.
>>>
>>> Fixes: 04f9ccc955c7 ("crypto: lib/Kconfig - Fix lib built-in failure when arch is modular")
>>
>> Which tree contains this change? I can't seem to resolve the SHA locally.
>
> Sorry, that must have been an older commit ID. Today's linux-next
> contains 56b8e4bb7622 ("crypto: lib/Kconfig - Fix lib built-in failure
> when arch is modular")
>
> which is in
> git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git

After looking at the original 0day report, I think the fix for
that problem would have been

--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -94,6 +94,7 @@ config WIREGUARD
select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2
select CRYPTO_POLY1305_MIPS if MIPS
select CRYPTO_CHACHA_S390 if S390
+ select CRYPTO_CURVE25519_PPC64 if PPC64 && CPU_LITTLE_ENDIAN
help
WireGuard is a secure, fast, and easy to use replacement for IPSec
that uses modern cryptography and clever networking tricks. It's

which makes powerpc behave the same way as the other architectures.
Ideally wireguard should not need to know about every architecture
specific algorithm that it might use though, and that requires
a different method of enabling those.

Arnd