]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
lib/crypto: arm/poly1305: Remove unneeded empty weak function
authorEric Biggers <ebiggers@kernel.org>
Fri, 11 Jul 2025 21:28:22 +0000 (14:28 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 14 Jul 2025 15:20:00 +0000 (08:20 -0700)
Fix poly1305-armv4.pl to not do '.globl poly1305_blocks_neon' when
poly1305_blocks_neon() is not defined.  Then, remove the empty __weak
definition of poly1305_blocks_neon(), which was still needed only
because of that unnecessary globl statement.  (It also used to be needed
because the compiler could generate calls to it when
CONFIG_KERNEL_MODE_NEON=n, but that has been fixed.)

Thanks to Arnd Bergmann for reporting that the globl statement in the
asm file was still depending on the weak symbol.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250711212822.6372-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
lib/crypto/arm/poly1305-armv4.pl
lib/crypto/arm/poly1305-glue.c

index d57c6e2fc84a572f2cc5c6f4d32def701cc58e07..dd7a996361a719b5a4e163c6d25277a024c8b9a6 100644 (file)
@@ -46,7 +46,6 @@ $code.=<<___;
 # define poly1305_init   poly1305_block_init_arch
 # define poly1305_blocks poly1305_blocks_arm
 # define poly1305_emit   poly1305_emit_arch
-.globl poly1305_blocks_neon
 #endif
 
 #if defined(__thumb2__)
@@ -722,6 +721,7 @@ poly1305_init_neon:
        ret                             @ bx    lr
 .size  poly1305_init_neon,.-poly1305_init_neon
 
+.globl poly1305_blocks_neon
 .type  poly1305_blocks_neon,%function
 .align 5
 poly1305_blocks_neon:
index ca6dc553370546327953de1690acbdf536d7e046..2d86c78af8837b0d2a7ac83fb1153d47e117765a 100644 (file)
@@ -28,11 +28,6 @@ asmlinkage void poly1305_emit_arch(const struct poly1305_state *state,
                                   const u32 nonce[4]);
 EXPORT_SYMBOL_GPL(poly1305_emit_arch);
 
-void __weak poly1305_blocks_neon(struct poly1305_block_state *state,
-                                const u8 *src, u32 len, u32 hibit)
-{
-}
-
 static __ro_after_init DEFINE_STATIC_KEY_FALSE(have_neon);
 
 void poly1305_blocks_arch(struct poly1305_block_state *state, const u8 *src,