lib/crypto: Drop inline from all *_mod_init_arch() functions
Subsystems (3)
Eric Biggers
maintainerPATCH 1/1 lib/crypto: Drop inline from all *_mod_init_arch() functions
Drop 'inline' from all the *_mod_init_arch() functions so that the compiler will warn about any bugs where they are unused due to not being wired up properly. (There are no such bugs currently, so this just establishes a more robust convention for the future. Of course, these functions also tend to get inlined anyway, regardless of the keyword.)
--- lib/crypto/arm/sha1.h | 2 +- lib/crypto/arm/sha256.h | 2 +- lib/crypto/arm/sha512.h | 2 +- lib/crypto/arm64/sha1.h | 2 +- lib/crypto/arm64/sha256.h | 2 +- lib/crypto/arm64/sha512.h | 2 +- lib/crypto/riscv/sha256.h | 2 +- lib/crypto/riscv/sha512.h | 2 +- lib/crypto/s390/sha1.h | 2 +- lib/crypto/s390/sha256.h | 2 +- lib/crypto/s390/sha512.h | 2 +- lib/crypto/sparc/md5.h | 2 +- lib/crypto/sparc/sha1.h | 2 +- lib/crypto/sparc/sha256.h | 2 +- lib/crypto/sparc/sha512.h | 2 +- lib/crypto/x86/sha1.h | 2 +- lib/crypto/x86/sha256.h | 2 +- lib/crypto/x86/sha512.h | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-)
lib/crypto/arm/sha1.h +1 -1
@@ -33,11 +33,11 @@ static void sha1_blocks(struct sha1_block_state *state, } }#ifdef CONFIG_KERNEL_MODE_NEON #define sha1_mod_init_arch sha1_mod_init_arch -static inline void sha1_mod_init_arch (void ) +static void sha1_mod_init_arch (void ) {if (elf_hwcap &HWCAP_NEON ) {static_branch_enable (&have_neon);if (elf_hwcap2 &HWCAP2_SHA1 )static_branch_enable (&have_ce);
lib/crypto/arm/sha256.h +1 -1
@@ -33,11 +33,11 @@ static void sha256_blocks(struct sha256_block_state *state, } }#ifdef CONFIG_KERNEL_MODE_NEON #define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {if (elf_hwcap &HWCAP_NEON ) {static_branch_enable (&have_neon);if (elf_hwcap2 &HWCAP2_SHA2 )static_branch_enable (&have_ce);
lib/crypto/arm/sha512.h +1 -1
@@ -27,11 +27,11 @@ static void sha512_blocks(struct sha512_block_state *state, } }#ifdef CONFIG_KERNEL_MODE_NEON #define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {if (cpu_has_neon ())static_branch_enable (&have_neon); }#endif /* CONFIG_KERNEL_MODE_NEON */
lib/crypto/arm64/sha1.h +1 -1
@@ -30,10 +30,10 @@ static void sha1_blocks(struct sha1_block_state *state,sha1_blocks_generic (state, data, nblocks); } }#define sha1_mod_init_arch sha1_mod_init_arch -static inline void sha1_mod_init_arch (void ) +static void sha1_mod_init_arch (void ) {if (cpu_have_named_feature (SHA1 ))static_branch_enable (&have_ce); }
lib/crypto/arm64/sha256.h +1 -1
@@ -44,11 +44,11 @@ static void sha256_blocks(struct sha256_block_state *state, } }#ifdef CONFIG_KERNEL_MODE_NEON #define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {if (cpu_have_named_feature (ASIMD )) {static_branch_enable (&have_neon);if (cpu_have_named_feature (SHA2 ))static_branch_enable (&have_ce);
lib/crypto/arm64/sha512.h +1 -1
@@ -35,11 +35,11 @@ static void sha512_blocks(struct sha512_block_state *state, } }#ifdef CONFIG_KERNEL_MODE_NEON #define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {if (cpu_have_named_feature (SHA512 ))static_branch_enable (&have_sha512_insns); }#endif /* CONFIG_KERNEL_MODE_NEON */
lib/crypto/riscv/sha256.h +1 -1
@@ -29,11 +29,11 @@ static void sha256_blocks(struct sha256_block_state *state,sha256_blocks_generic (state, data, nblocks); } }#define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {/* Both zvknha and zvknhb provide the SHA-256 instructions. */ if ((riscv_isa_extension_available(NULL, ZVKNHA) || riscv_isa_extension_available(NULL, ZVKNHB)) && riscv_isa_extension_available(NULL, ZVKB) &&
lib/crypto/riscv/sha512.h +1 -1
@@ -28,11 +28,11 @@ static void sha512_blocks(struct sha512_block_state *state,sha512_blocks_generic (state, data, nblocks); } }#define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {if (riscv_isa_extension_available (NULL ,ZVKNHB ) &&riscv_isa_extension_available (NULL ,ZVKB ) &&riscv_vector_vlen () >=128 )static_branch_enable (&have_extensions);
lib/crypto/s390/sha1.h +1 -1
@@ -18,11 +18,11 @@ static void sha1_blocks(struct sha1_block_state *state,else sha1_blocks_generic (state, data, nblocks); }#define sha1_mod_init_arch sha1_mod_init_arch -static inline void sha1_mod_init_arch (void ) +static void sha1_mod_init_arch (void ) {if (cpu_have_feature (S390_CPU_FEATURE_MSA ) &&cpacf_query_func (CPACF_KIMD ,CPACF_KIMD_SHA_1 ))static_branch_enable (&have_cpacf_sha1); }
lib/crypto/s390/sha256.h +1 -1
@@ -18,11 +18,11 @@ static void sha256_blocks(struct sha256_block_state *state,else sha256_blocks_generic (state, data, nblocks); }#define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {if (cpu_have_feature (S390_CPU_FEATURE_MSA ) &&cpacf_query_func (CPACF_KIMD ,CPACF_KIMD_SHA_256 ))static_branch_enable (&have_cpacf_sha256); }
lib/crypto/s390/sha512.h +1 -1
@@ -18,11 +18,11 @@ static void sha512_blocks(struct sha512_block_state *state,else sha512_blocks_generic (state, data, nblocks); }#define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {if (cpu_have_feature (S390_CPU_FEATURE_MSA ) &&cpacf_query_func (CPACF_KIMD ,CPACF_KIMD_SHA_512 ))static_branch_enable (&have_cpacf_sha512); }
lib/crypto/sparc/md5.h +1 -1
@@ -30,11 +30,11 @@ static void md5_blocks(struct md5_block_state *state,md5_blocks_generic (state, data, nblocks); } }#define md5_mod_init_arch md5_mod_init_arch -static inline void md5_mod_init_arch (void ) +static void md5_mod_init_arch (void ) {unsigned long cfr;if (!(sparc64_elf_hwcap &HWCAP_SPARC_CRYPTO ))return ;
lib/crypto/sparc/sha1.h +1 -1
@@ -25,11 +25,11 @@ static void sha1_blocks(struct sha1_block_state *state,else sha1_blocks_generic (state, data, nblocks); }#define sha1_mod_init_arch sha1_mod_init_arch -static inline void sha1_mod_init_arch (void ) +static void sha1_mod_init_arch (void ) {unsigned long cfr;if (!(sparc64_elf_hwcap &HWCAP_SPARC_CRYPTO ))return ;
lib/crypto/sparc/sha256.h +1 -1
@@ -25,11 +25,11 @@ static void sha256_blocks(struct sha256_block_state *state,else sha256_blocks_generic (state, data, nblocks); }#define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {unsigned long cfr;if (!(sparc64_elf_hwcap &HWCAP_SPARC_CRYPTO ))return ;
lib/crypto/sparc/sha512.h +1 -1
@@ -24,11 +24,11 @@ static void sha512_blocks(struct sha512_block_state *state,else sha512_blocks_generic (state, data, nblocks); }#define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {unsigned long cfr;if (!(sparc64_elf_hwcap &HWCAP_SPARC_CRYPTO ))return ;
lib/crypto/x86/sha1.h +1 -1
@@ -53,11 +53,11 @@ static void sha1_blocks(struct sha1_block_state *state, {static_call (sha1_blocks_x86)(state, data, nblocks); }#define sha1_mod_init_arch sha1_mod_init_arch -static inline void sha1_mod_init_arch (void ) +static void sha1_mod_init_arch (void ) {if (boot_cpu_has (X86_FEATURE_SHA_NI )) {static_call_update (sha1_blocks_x86, sha1_blocks_ni); } else if (cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL) &&
lib/crypto/x86/sha256.h +1 -1
@@ -34,11 +34,11 @@ static void sha256_blocks(struct sha256_block_state *state, {static_call (sha256_blocks_x86)(state, data, nblocks); }#define sha256_mod_init_arch sha256_mod_init_arch -static inline void sha256_mod_init_arch (void ) +static void sha256_mod_init_arch (void ) {if (boot_cpu_has (X86_FEATURE_SHA_NI )) {static_call_update (sha256_blocks_x86, sha256_blocks_ni); } else if (cpu_has_xfeatures(XFEATURE_MASK_SSE | XFEATURE_MASK_YMM, NULL) &&
lib/crypto/x86/sha512.h +1 -1
@@ -33,11 +33,11 @@ static void sha512_blocks(struct sha512_block_state *state, {static_call (sha512_blocks_x86)(state, data, nblocks); }#define sha512_mod_init_arch sha512_mod_init_arch -static inline void sha512_mod_init_arch (void ) +static void sha512_mod_init_arch (void ) {if (cpu_has_xfeatures (XFEATURE_MASK_SSE |XFEATURE_MASK_YMM ,NULL ) &&boot_cpu_has (X86_FEATURE_AVX )) {if (boot_cpu_has (X86_FEATURE_AVX2 ) &&boot_cpu_has (X86_FEATURE_BMI2 ))
base-commit: 56784a42208677e6fb24ba0bd93a2ea0bd9f41ff
Signature · 1 line
2.50.1
Quoted 19 lines · Eric Biggers
Drop 'inline' from all the
*_mod_init_arch()functions so that the compiler will warn about any bugs where they are unused due to not being wired up properly. (There are no such bugs currently, so this just establishes a more robust convention for the future. Of course, these functions also tend to get inlined anyway, regardless of the keyword.)Signed-off-by Eric Biggers <[email protected]>--- lib/crypto/arm/sha1.h | 2 +- lib/crypto/arm/sha256.h | 2 +- lib/crypto/arm/sha512.h | 2 +- lib/crypto/arm64/sha1.h | 2 +- lib/crypto/arm64/sha256.h | 2 +- lib/crypto/arm64/sha512.h | 2 +- lib/crypto/riscv/sha256.h | 2 +- lib/crypto/riscv/sha512.h | 2 +- lib/crypto/s390/sha1.h | 2 +- lib/crypto/s390/sha256.h | 2 +- lib/crypto/s390/sha512.h | 2 +-
Quoted 8 lines
lib/crypto/sparc/md5.h | 2 +- lib/crypto/sparc/sha1.h | 2 +- lib/crypto/sparc/sha256.h | 2 +- lib/crypto/sparc/sha512.h | 2 +- lib/crypto/x86/sha1.h | 2 +- lib/crypto/x86/sha256.h | 2 +- lib/crypto/x86/sha512.h | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-)
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=libcrypto-next
- Eric