Ard Biesheuvel
36a58bda87
crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
...
commit 17858b140bf49961b71d4e73f1c3ea9bc8e7dda0 upstream.
ecdh_set_secret() casts a void* pointer to a const u64* in order to
feed it into ecc_is_key_valid(). This is not generally permitted by
the C standard, and leads to actual misalignment faults on ARMv6
cores. In some cases, these are fixed up in software, but this still
leads to performance hits that are entirely avoidable.
So let's copy the key into the ctx buffer first, which we will do
anyway in the common case, and which guarantees correct alignment.
Cc: <stable@vger.kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-30 11:51:35 +01:00
..
asymmetric_keys
keys: asymmetric: fix error return code in software_key_query()
2020-07-22 09:33:04 +02:00
async_tx
842.c
ablkcipher.c
acompress.c
adiantum.c
aead.c
aegis.h
aegis128-core.c
aegis128-neon-inner.c
aegis128-neon.c
aes_generic.c
aes_ti.c
af_alg.c
crypto: af_alg - avoid undefined behavior accessing salg_name
2020-12-30 11:51:00 +01:00
ahash.c
akcipher.c
algapi.c
crypto: algapi - Avoid spurious modprobe on LOADED
2020-06-17 16:40:30 +02:00
algboss.c
crypto: algboss - don't wait during notifier callback
2020-06-24 17:50:51 +02:00
algif_aead.c
crypto: algif_aead - Do not set MAY_BACKLOG on the async path
2020-10-29 09:57:29 +01:00
algif_hash.c
crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
2020-07-09 09:37:52 +02:00
algif_rng.c
algif_skcipher.c
crypto: algif_skcipher - EBUSY on aio should be an error
2020-10-29 09:57:30 +01:00
ansi_cprng.c
anubis.c
api.c
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-11 04:35:31 -08:00
arc4.c
authenc.c
authencesn.c
blkcipher.c
blowfish_common.c
blowfish_generic.c
camellia_generic.c
cast5_generic.c
cast6_generic.c
cast_common.c
cbc.c
ccm.c
cfb.c
chacha20poly1305.c
chacha_generic.c
cipher.c
cmac.c
compress.c
crc32_generic.c
crc32c_generic.c
crct10dif_common.c
crct10dif_generic.c
cryptd.c
crypto_engine.c
crypto_null.c
crypto_user_base.c
crypto_user_stat.c
ctr.c
cts.c
deflate.c
des_generic.c
dh.c
dh_helper.c
drbg.c
crypto: drbg - fix error return code in drbg_alloc_state()
2020-06-17 16:40:31 +02:00
ecb.c
ecc.c
ecc.h
ecc_curve_defs.h
ecdh.c
crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
2020-12-30 11:51:35 +01:00
ecdh_helper.c
echainiv.c
ecrdsa.c
ecrdsa_defs.h
ecrdsa_params.asn1
ecrdsa_pub_key.asn1
essiv.c
fcrypt.c
fips.c
gcm.c
gf128mul.c
ghash-generic.c
hash_info.c
crypto: rename sm3-256 to sm3 in hash_algo_name
2020-02-28 17:22:26 +01:00
hmac.c
internal.h
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-11 04:35:31 -08:00
jitterentropy-kcapi.c
jitterentropy.c
Kconfig
crypto: essiv - fix AEAD capitalization and preposition use in help text
2020-02-24 08:36:50 +01:00
keywrap.c
khazad.c
kpp.c
lrw.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:20:29 +02:00
lz4.c
lz4hc.c
lzo-rle.c
lzo.c
Makefile
md4.c
md5.c
memneq.c
michael_mic.c
nhpoly1305.c
ofb.c
pcbc.c
pcrypt.c
crypto: pcrypt - Do not clear MAY_SLEEP flag in original request
2020-02-11 04:35:31 -08:00
poly1305_generic.c
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
rng.c
crypto: rng - Fix a refcounting bug in crypto_rng_reset()
2020-04-17 10:50:16 +02:00
rsa-pkcs1pad.c
rsa.c
rsa_helper.c
rsaprivkey.asn1
rsapubkey.asn1
salsa20_generic.c
scatterwalk.c
scompress.c
seed.c
seqiv.c
serpent_generic.c
sha1_generic.c
sha3_generic.c
sha256_generic.c
sha512_generic.c
shash.c
simd.c
skcipher.c
sm3_generic.c
sm4_generic.c
streebog_generic.c
tcrypt.c
tcrypt.h
tea.c
testmgr.c
crypto: testmgr - don't try to decrypt uninitialized buffers
2020-02-14 16:34:18 -05:00
testmgr.h
tgr192.c
twofish_common.c
twofish_generic.c
vmac.c
wp512.c
xcbc.c
xor.c
xts.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:20:29 +02:00
xxhash_generic.c
zstd.c