| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
| 2 | From: "Maciej W. Rozycki" <macro@orcam.me.uk> |
| 3 | Date: Thu, 11 Mar 2021 21:50:47 -0700 |
| 4 | Subject: [PATCH] crypto: mips/poly1305 - enable for all MIPS processors |
| 5 | |
| 6 | commit 6c810cf20feef0d4338e9b424ab7f2644a8b353e upstream. |
| 7 | |
| 8 | The MIPS Poly1305 implementation is generic MIPS code written such as to |
| 9 | support down to the original MIPS I and MIPS III ISA for the 32-bit and |
| 10 | 64-bit variant respectively. Lift the current limitation then to enable |
| 11 | code for MIPSr1 ISA or newer processors only and have it available for |
| 12 | all MIPS processors. |
| 13 | |
| 14 | Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> |
| 15 | Fixes: a11d055e7a64 ("crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation") |
| 16 | Cc: stable@vger.kernel.org # v5.5+ |
| 17 | Acked-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| 18 | Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> |
| 19 | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| 20 | --- |
| 21 | arch/mips/crypto/Makefile | 4 ++-- |
| 22 | crypto/Kconfig | 2 +- |
| 23 | drivers/net/Kconfig | 2 +- |
| 24 | 3 files changed, 4 insertions(+), 4 deletions(-) |
| 25 | |
| 26 | --- a/arch/mips/crypto/Makefile |
| 27 | +++ b/arch/mips/crypto/Makefile |
| 28 | @@ -12,8 +12,8 @@ AFLAGS_chacha-core.o += -O2 # needed to |
| 29 | obj-$(CONFIG_CRYPTO_POLY1305_MIPS) += poly1305-mips.o |
| 30 | poly1305-mips-y := poly1305-core.o poly1305-glue.o |
| 31 | |
| 32 | -perlasm-flavour-$(CONFIG_CPU_MIPS32) := o32 |
| 33 | -perlasm-flavour-$(CONFIG_CPU_MIPS64) := 64 |
| 34 | +perlasm-flavour-$(CONFIG_32BIT) := o32 |
| 35 | +perlasm-flavour-$(CONFIG_64BIT) := 64 |
| 36 | |
| 37 | quiet_cmd_perlasm = PERLASM $@ |
| 38 | cmd_perlasm = $(PERL) $(<) $(perlasm-flavour-y) $(@) |
| 39 | --- a/crypto/Kconfig |
| 40 | +++ b/crypto/Kconfig |
| 41 | @@ -740,7 +740,7 @@ config CRYPTO_POLY1305_X86_64 |
| 42 | |
| 43 | config CRYPTO_POLY1305_MIPS |
| 44 | tristate "Poly1305 authenticator algorithm (MIPS optimized)" |
| 45 | - depends on CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
| 46 | + depends on MIPS |
| 47 | select CRYPTO_ARCH_HAVE_LIB_POLY1305 |
| 48 | |
| 49 | config CRYPTO_MD4 |
| 50 | --- a/drivers/net/Kconfig |
| 51 | +++ b/drivers/net/Kconfig |
| 52 | @@ -92,7 +92,7 @@ config WIREGUARD |
| 53 | select CRYPTO_POLY1305_ARM if ARM |
| 54 | select CRYPTO_CURVE25519_NEON if ARM && KERNEL_MODE_NEON |
| 55 | select CRYPTO_CHACHA_MIPS if CPU_MIPS32_R2 |
| 56 | - select CRYPTO_POLY1305_MIPS if CPU_MIPS32 || (CPU_MIPS64 && 64BIT) |
| 57 | + select CRYPTO_POLY1305_MIPS if MIPS |
| 58 | help |
| 59 | WireGuard is a secure, fast, and easy to use replacement for IPSec |
| 60 | that uses modern cryptography and clever networking tricks. It's |