aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/crypto/sha2-ce-core.S
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2018-01-10 12:11:41 +0000
committerHerbert Xu <herbert@gondor.apana.org.au>2018-01-18 23:00:32 +1100
commit17a0607019d56e136173600372a371c28a6c0076 (patch)
treebe2cb40bf60269e52c8084dc0d9512604923598c /arch/arm64/crypto/sha2-ce-core.S
parentcrypto: arm64/crct10dif - move literal data to .rodata section (diff)
downloadlinux-dev-17a0607019d56e136173600372a371c28a6c0076.tar.xz
linux-dev-17a0607019d56e136173600372a371c28a6c0076.zip
crypto: arm64/sha2-ce - move the round constant table to .rodata section
Move the SHA2 round constant table to the .rodata section where it is safe from being exploited by speculative execution. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm64/crypto/sha2-ce-core.S')
-rw-r--r--arch/arm64/crypto/sha2-ce-core.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/crypto/sha2-ce-core.S b/arch/arm64/crypto/sha2-ce-core.S
index 679c6c002f4f..4c3c89b812ce 100644
--- a/arch/arm64/crypto/sha2-ce-core.S
+++ b/arch/arm64/crypto/sha2-ce-core.S
@@ -53,6 +53,7 @@
/*
* The SHA-256 round constants
*/
+ .section ".rodata", "a"
.align 4
.Lsha2_rcon:
.word 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5
@@ -76,9 +77,10 @@
* void sha2_ce_transform(struct sha256_ce_state *sst, u8 const *src,
* int blocks)
*/
+ .text
ENTRY(sha2_ce_transform)
/* load round constants */
- adr x8, .Lsha2_rcon
+ adr_l x8, .Lsha2_rcon
ld1 { v0.4s- v3.4s}, [x8], #64
ld1 { v4.4s- v7.4s}, [x8], #64
ld1 { v8.4s-v11.4s}, [x8], #64