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
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 335
2019-06-05 17:37:06 +02:00
842.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157
2019-05-30 11:26:37 -07:00
ablkcipher.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
acompress.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
adiantum.c
crypto: shash - remove shash_desc::flags
2019-04-25 15:38:12 +08:00
aead.c
crypto: aead - Do not allow authsize=0 if auth. alg has digestsize>0
2019-08-15 21:52:14 +10:00
aegis.h
crypto: aegis128 - Fix -Wunused-const-variable warning
2019-08-30 18:05:30 +10:00
aegis128-core.c
crypto: aegis128 - Fix -Wunused-const-variable warning
2019-08-30 18:05:30 +10:00
aegis128-neon-inner.c
crypto: arm64/aegis128 - use explicit vector load for permute vectors
2019-08-30 18:05:27 +10:00
aegis128-neon.c
crypto: arm64/aegis128 - implement plain NEON version
2019-08-15 21:52:15 +10:00
aes_generic.c
crypto: aes-generic - remove unused variable 'rco_tab'
2019-08-15 21:52:14 +10:00
aes_ti.c
crypto: aes - create AES library based on the fixed time AES code
2019-07-26 14:55:33 +10:00
af_alg.c
crypto: af_alg - avoid undefined behavior accessing salg_name
2020-12-30 11:51:00 +01:00
ahash.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
akcipher.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
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
net: remove sock_no_poll
2018-05-26 09:16:44 +02:00
algif_skcipher.c
crypto: algif_skcipher - EBUSY on aio should be an error
2020-10-29 09:57:30 +01:00
ansi_cprng.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 42
2019-05-24 17:27:12 +02:00
anubis.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
api.c
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-11 04:35:31 -08:00
arc4.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
authenc.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
authencesn.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
blkcipher.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
blowfish_common.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
blowfish_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
camellia_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
cast5_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 140
2019-05-30 11:25:16 -07:00
cast6_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 140
2019-05-30 11:25:16 -07:00
cast_common.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 44
2019-05-24 17:27:12 +02:00
cbc.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ccm.c
wusb: switch to cbcmac transform
2019-06-18 08:52:34 +02:00
cfb.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
chacha20poly1305.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
chacha_generic.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
cipher.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
cmac.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
compress.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
crc32_generic.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
crc32c_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
crct10dif_common.c
crct10dif_generic.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
cryptd.c
crypto: cryptd - Use refcount_t for refcount
2019-08-15 21:52:13 +10:00
crypto_engine.c
crypto: engine - Reduce default RT priority
2019-08-09 15:11:52 +10:00
crypto_null.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
crypto_user_base.c
crypto: user - fix memory leak in crypto_report
2019-12-13 08:43:10 +01:00
crypto_user_stat.c
crypto: user - fix memory leak in crypto_reportstat
2019-12-13 08:43:11 +01:00
ctr.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
cts.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
deflate.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
des_generic.c
crypto: des - remove now unused __des3_ede_setkey()
2019-08-22 14:57:33 +10:00
dh.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
dh_helper.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
drbg.c
crypto: drbg - fix error return code in drbg_alloc_state()
2020-06-17 16:40:31 +02:00
ecb.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ecc.c
crypto: ecdh - fix big endian bug in ECC library
2019-12-13 08:43:09 +01:00
ecc.h
crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm
2019-04-18 22:15:02 +08:00
ecc_curve_defs.h
crypto: ecc - make ecc into separate module
2019-04-18 22:15:02 +08:00
ecdh.c
crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
2020-12-30 11:51:35 +01:00
ecdh_helper.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
echainiv.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ecrdsa.c
crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm
2019-04-18 22:15:02 +08:00
ecrdsa_defs.h
crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm
2019-04-18 22:15:02 +08:00
ecrdsa_params.asn1
crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm
2019-04-18 22:15:02 +08:00
ecrdsa_pub_key.asn1
crypto: ecrdsa - add EC-RDSA (GOST 34.10) algorithm
2019-04-18 22:15:02 +08:00
essiv.c
crypto: essiv - create wrapper template for ESSIV generation
2019-09-03 16:44:57 -04:00
fcrypt.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
fips.c
crypto: fips - add FIPS test failure notification chain
2019-07-26 14:51:57 +10:00
gcm.c
crypto: gcm - restrict assoclen for rfc4543
2019-08-09 15:11:58 +10:00
gf128mul.c
crypto: gf128mul - remove incorrect comment
2017-12-22 19:52:40 +11:00
ghash-generic.c
crypto: ghash - add comment and improve help text
2019-07-27 21:08:38 +10:00
hash_info.c
crypto: rename sm3-256 to sm3 in hash_algo_name
2020-02-28 17:22:26 +01:00
hmac.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-06-06 13:10:49 -07:00
internal.h
crypto: api - Fix race condition in crypto_spawn_alg
2020-02-11 04:35:31 -08:00
jitterentropy-kcapi.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-06-20 14:17:24 +08:00
jitterentropy.c
crypto: jitter - update implementation to 2.1.2
2019-06-06 14:38:57 +08:00
Kconfig
crypto: essiv - fix AEAD capitalization and preposition use in help text
2020-02-24 08:36:50 +01:00
keywrap.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
khazad.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
kpp.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
lrw.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:20:29 +02:00
lz4.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
lz4hc.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
lzo-rle.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
lzo.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
Makefile
crypto: aegis128-neon - use Clang compatible cflags for ARM
2019-12-31 16:43:38 +01:00
md4.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
md5.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
memneq.c
michael_mic.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
nhpoly1305.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
ofb.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
pcbc.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
pcrypt.c
crypto: pcrypt - Do not clear MAY_SLEEP flag in original request
2020-02-11 04:35:31 -08:00
poly1305_generic.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
proc.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
ripemd.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rmd128.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
rmd160.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
rmd256.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
rmd320.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
rng.c
crypto: rng - Fix a refcounting bug in crypto_rng_reset()
2020-04-17 10:50:16 +02:00
rsa-pkcs1pad.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
rsa.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 36
2019-05-24 17:27:11 +02:00
rsa_helper.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
rsaprivkey.asn1
crypto: rsa - Store rest of the private key components
2016-07-05 23:05:26 +08:00
rsapubkey.asn1
salsa20_generic.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
scatterwalk.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
scompress.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
seed.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
seqiv.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
serpent_generic.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
sha1_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
sha3_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
sha256_generic.c
crypto: sha256 - Merge crypto/sha256.h into crypto/sha.h
2019-09-05 14:54:54 +10:00
sha512_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45
2019-05-24 17:27:12 +02:00
shash.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
simd.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
skcipher.c
crypto: skcipher - Unmap pages after an external error
2019-09-09 17:35:27 +10:00
sm3_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234
2019-06-19 17:09:07 +02:00
sm4_generic.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
streebog_generic.c
crypto: streebog - remove two unused variables
2019-08-15 21:52:14 +10:00
tcrypt.c
crypto: essiv - add tests for essiv in cbc(aes)+sha256 mode
2019-08-30 18:05:27 +10:00
tcrypt.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152
2019-05-30 11:26:32 -07:00
tea.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
testmgr.c
crypto: testmgr - don't try to decrypt uninitialized buffers
2020-02-14 16:34:18 -05:00
testmgr.h
crypto: essiv - add tests for essiv in cbc(aes)+sha256 mode
2019-08-30 18:05:27 +10:00
tgr192.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00
twofish_common.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
twofish_generic.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
vmac.c
crypto: run initcalls for generic implementations earlier
2019-04-18 22:15:03 +08:00
wp512.c
crypto: make all generic algorithms set cra_driver_name
2019-06-13 14:31:39 +08:00
xcbc.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13
2019-05-21 11:28:45 +02:00
xor.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 47
2019-05-24 17:27:13 +02:00
xts.c
gcc-10: avoid shadowing standard library 'free()' in crypto
2020-05-20 08:20:29 +02:00
xxhash_generic.c
crypto: xxhash - Implement xxhash support
2019-06-06 14:38:57 +08:00
zstd.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2019-07-08 20:57:08 -07:00