Message ID | 20250514051847.193996-1-ebiggers@kernel.org |
---|---|
State | New |
Headers | show |
Series | crypto: powerpc/poly1305 - add depends on BROKEN for now | expand |
On Wed, May 14, 2025 at 05:41:39PM +0800, Herbert Xu wrote: > Eric Biggers <ebiggers@kernel.org> wrote: > > From: Eric Biggers <ebiggers@google.com> > > > > As discussed in the thread containing > > https://lore.kernel.org/linux-crypto/20250510053308.GB505731@sol/, the > > Power10-optimized Poly1305 code is currently not safe to call in softirq > > context. Disable it for now. It can be re-enabled once it is fixed. > > > > Fixes: ba8f8624fde2 ("crypto: poly1305-p10 - Glue code for optmized Poly1305 implementation for ppc64le") > > Cc: stable@vger.kernel.org > > Signed-off-by: Eric Biggers <ebiggers@google.com> > > --- > > arch/powerpc/lib/crypto/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > I thought this fix should be enough, no? > > https://patchwork.kernel.org/project/linux-crypto/patch/aB8Yy0JGvoErc0ns@gondor.apana.org.au/ I didn't notice that. Probably, though I don't have time to review this subtle Poly1305 code. Especially with all the weird unions in the code. Would be great if the PowerPC folks would take a look. - Eric
On Wed, May 14, 2025 at 09:29:33AM -0700, Eric Biggers wrote: > > I didn't notice that. Probably, though I don't have time to review this subtle > Poly1305 code. Especially with all the weird unions in the code. Would be > great if the PowerPC folks would take a look. Of course more reviews would be great and I think they're all on the cc list. I did test this by manually forcing the conversion, which is how I discovered that powerpc wasn't even using donna64. Cheers,
diff --git a/arch/powerpc/lib/crypto/Kconfig b/arch/powerpc/lib/crypto/Kconfig index ffa541ad6d5da..3f9e1bbd9905b 100644 --- a/arch/powerpc/lib/crypto/Kconfig +++ b/arch/powerpc/lib/crypto/Kconfig @@ -8,10 +8,11 @@ config CRYPTO_CHACHA20_P10 select CRYPTO_ARCH_HAVE_LIB_CHACHA config CRYPTO_POLY1305_P10 tristate depends on PPC64 && CPU_LITTLE_ENDIAN && VSX + depends on BROKEN # Needs to be fixed to work in softirq context default CRYPTO_LIB_POLY1305 select CRYPTO_ARCH_HAVE_LIB_POLY1305 select CRYPTO_LIB_POLY1305_GENERIC config CRYPTO_SHA256_PPC_SPE