linux/arch/s390/crypto
Heiko Carstens 8d16ce1488 s390/fpu: make use of __uninitialized macro
Code sections in s390 specific kernel code which use floating point or
vector registers all come with a 520 byte stack variable to save already in
use registers, if required.

With INIT_STACK_ALL_PATTERN or INIT_STACK_ALL_ZERO enabled this variable
will always be initialized on function entry in addition to saving register
contents, which contradicts the intention (performance improvement) of such
code sections.

Therefore provide a DECLARE_KERNEL_FPU_ONSTACK() macro which provides
struct kernel_fpu variables with an __uninitialized attribute, and convert
all existing code to use this.

This way only this specific type of stack variable will not be initialized,
regardless of config options.

Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20240205154844.3757121-3-hca@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2024-02-09 13:58:16 +01:00
..
aes_s390.c crypto: s390/aes - Fix buffer overread in CTR mode 2023-12-08 11:59:45 +08:00
arch_random.c s390/archrandom: add missing header include 2023-01-10 14:39:08 +01:00
chacha-glue.c s390/fpu: make use of __uninitialized macro 2024-02-09 13:58:16 +01:00
chacha-s390.h s390/crypto: add SIMD implementation for ChaCha20 2021-12-06 14:42:24 +01:00
chacha-s390.S s390/crypto,chacha: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
crc32-vx.c s390/fpu: make use of __uninitialized macro 2024-02-09 13:58:16 +01:00
crc32be-vx.S s390: fix various typos 2023-07-03 11:19:42 +02:00
crc32le-vx.S s390/crc32le: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:17 +02:00
des_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
ghash_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
Kconfig crypto: Kconfig - simplify cipher entries 2022-08-26 18:50:43 +08:00
Makefile random: remove CONFIG_ARCH_RANDOM 2022-07-18 15:03:37 +02:00
paes_s390.c crypto: s390/aes - Fix buffer overread in CTR mode 2023-12-08 11:59:45 +08:00
prng.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha1_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha3_256_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha3_512_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha256_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha512_s390.c s390/cpufeature: rework to allow more than only hwcap bits 2022-07-19 16:18:49 +02:00
sha_common.c s390/crypto: Fix unsigned variable compared with zero 2019-11-20 12:58:12 +01:00
sha.h crypto: sha - split sha.h into sha1.h and sha2.h 2020-11-20 14:45:33 +11:00