mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-21 20:22:13 +08:00
8d16ce1488
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> |
||
---|---|---|
.. | ||
aes_s390.c | ||
arch_random.c | ||
chacha-glue.c | ||
chacha-s390.h | ||
chacha-s390.S | ||
crc32-vx.c | ||
crc32be-vx.S | ||
crc32le-vx.S | ||
des_s390.c | ||
ghash_s390.c | ||
Kconfig | ||
Makefile | ||
paes_s390.c | ||
prng.c | ||
sha1_s390.c | ||
sha3_256_s390.c | ||
sha3_512_s390.c | ||
sha256_s390.c | ||
sha512_s390.c | ||
sha_common.c | ||
sha.h |