Commit 6e07c5e1 authored by Eric Biggers's avatar Eric Biggers
Browse files

lib/crypto: arm/poly1305: Remove unneeded empty weak function



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: default avatarArd Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250711212822.6372-1-ebiggers@kernel.org


Signed-off-by: default avatarEric Biggers <ebiggers@kernel.org>
parent 9f65592b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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:
+0 −5
Original line number Diff line number Diff line
@@ -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,