| 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 |