summaryrefslogtreecommitdiff
path: root/arch/x86/crypto/sha1_ssse3_asm.S
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2020-01-15 06:57:29 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2020-01-22 11:21:08 +0300
commit41419a289010836bd759bf7e254fe041a3dc52d2 (patch)
tree0de2610ef1b1c74cac134047b470a18d36853b20 /arch/x86/crypto/sha1_ssse3_asm.S
parente0437dc6470c46a116aeb65769698dbc1487ed16 (diff)
downloadlinux-41419a289010836bd759bf7e254fe041a3dc52d2.tar.xz
crypto: x86/sha - Eliminate casts on asm implementations
In order to avoid CFI function prototype mismatches, this removes the casts on assembly implementations of sha1/256/512 accelerators. The safety checks from BUILD_BUG_ON() remain. Additionally, this renames various arguments for clarity, as suggested by Eric Biggers. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/x86/crypto/sha1_ssse3_asm.S')
-rw-r--r--arch/x86/crypto/sha1_ssse3_asm.S14
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/x86/crypto/sha1_ssse3_asm.S b/arch/x86/crypto/sha1_ssse3_asm.S
index 5d03c1173690..12e2d19d7402 100644
--- a/arch/x86/crypto/sha1_ssse3_asm.S
+++ b/arch/x86/crypto/sha1_ssse3_asm.S
@@ -457,9 +457,13 @@ W_PRECALC_SSSE3
movdqu \a,\b
.endm
-/* SSSE3 optimized implementation:
- * extern "C" void sha1_transform_ssse3(u32 *digest, const char *data, u32 *ws,
- * unsigned int rounds);
+/*
+ * SSSE3 optimized implementation:
+ *
+ * extern "C" void sha1_transform_ssse3(struct sha1_state *state,
+ * const u8 *data, int blocks);
+ *
+ * Note that struct sha1_state is assumed to begin with u32 state[5].
*/
SHA1_VECTOR_ASM sha1_transform_ssse3
@@ -545,8 +549,8 @@ W_PRECALC_AVX
/* AVX optimized implementation:
- * extern "C" void sha1_transform_avx(u32 *digest, const char *data, u32 *ws,
- * unsigned int rounds);
+ * extern "C" void sha1_transform_avx(struct sha1_state *state,
+ * const u8 *data, int blocks);
*/
SHA1_VECTOR_ASM sha1_transform_avx