| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| From: "Maciej W. Rozycki" <macro@orcam.me.uk> |
| Date: Thu, 11 Mar 2021 21:50:47 -0700 |
| Subject: [PATCH] crypto: mips/poly1305 - enable for all MIPS processors |
| |
| commit 6c810cf20feef0d4338e9b424ab7f2644a8b353e upstream. |
| |
| The MIPS Poly1305 implementation is generic MIPS code written such as to |
| support down to the original MIPS I and MIPS III ISA for the 32-bit and |
| 64-bit variant respectively. Lift the current limitation then to enable |
| code for MIPSr1 ISA or newer processors only and have it available for |
| all MIPS processors. |
| |
| Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> |
| Fixes: a11d055e7a64 ("crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation") |
| Cc: stable@vger.kernel.org # v5.5+ |
| Acked-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> |
| Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| --- |
| arch/mips/crypto/Makefile | 4 ++-- |
| crypto/Kconfig | 2 +- |
| drivers/net/Kconfig | 2 +- |
| 3 files changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/arch/mips/crypto/Makefile |
| +++ b/arch/mips/crypto/Makefile |
| @@ -12,8 +12,8 @@ AFLAGS_chacha-core.o += -O2 # needed to |
| obj-$(CONFIG_CRYPTO_POLY1305_MIPS) += poly1305-mips.o |
| poly1305-mips-y := poly1305-core.o poly1305-glue.o |
| |
| -perlasm-flavour-$(CONFIG_CPU_MIPS32) := o32 |
| -perlasm-flavour-$(CONFIG_CPU_MIPS64) := 64 |
| +perlasm-flavour-$(CONFIG_32BIT) := o32 |
| +perlasm-flavour-$(CONFIG_64BIT) := 64 |
| |
| quiet_cmd_perlasm = PERLASM $@ |
| cmd_perlasm = $(PERL) $(<) $(perlasm-flavour-y) $(@) |
| --- a/crypto/Kconfig |
| +++ b/crypto/Kconfig |
| @@ -740,7 +740,7 @@ config CRYPTO_POLY1305_X86_64 |
| |
| config CRYPTO_POLY1305_MIPS |
| tristate "Poly1305 authenticator algorithm (MIPS optimized)" |
| - depends on CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
| + depends on MIPS |
| select CRYPTO_ARCH_HAVE_LIB_POLY1305 |
| |
| config CRYPTO_MD4 |
| --- a/drivers/net/Kconfig |
| +++ b/drivers/net/Kconfig |
| @@ -92,7 +92,7 @@ config WIREGUARD |
| select CRYPTO_POLY1305_ARM if ARM |
| select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON |
| select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 |
| - select CRYPTO_POLY1305_MIPS if CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
| + select CRYPTO_POLY1305_MIPS if MIPS |
| help |
| WireGuard is a secure, fast, and easy to use replacement for IPSec |
| that uses modern cryptography and clever networking tricks. It's |