blob: c0ee841b0240252cf2f93ae221d203f478fa1806 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: "Maciej W. Rozycki" <macro@orcam.me.uk>
3Date: Thu, 11 Mar 2021 21:50:47 -0700
4Subject: [PATCH] crypto: mips/poly1305 - enable for all MIPS processors
5
6commit 6c810cf20feef0d4338e9b424ab7f2644a8b353e upstream.
7
8The MIPS Poly1305 implementation is generic MIPS code written such as to
9support down to the original MIPS I and MIPS III ISA for the 32-bit and
1064-bit variant respectively. Lift the current limitation then to enable
11code for MIPSr1 ISA or newer processors only and have it available for
12all MIPS processors.
13
14Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
15Fixes: a11d055e7a64 ("crypto: mips/poly1305 - incorporate OpenSSL/CRYPTOGAMS optimized implementation")
16Cc: stable@vger.kernel.org # v5.5+
17Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
18Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
19Signed-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