randomize_kstack: Improve entropy diffusion
authorKees Cook <keescook@chromium.org>
Sat, 9 Mar 2024 20:24:48 +0000 (12:24 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 Apr 2024 11:05:25 +0000 (13:05 +0200)
commite80b4980af2688d8ff69c157ffa773dd1f1eb02c
tree69c1549dce2b84fc8b18b2a7f708218d2f7ebd49
parent649e5646362a2815ec9cc85120fc59a885282085
randomize_kstack: Improve entropy diffusion

[ Upstream commit 9c573cd313433f6c1f7236fe64b9b743500c1628 ]

The kstack_offset variable was really only ever using the low bits for
kernel stack offset entropy. Add a ror32() to increase bit diffusion.

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 39218ff4c625 ("stack: Optionally randomize kernel stack offset each syscall")
Link: https://lore.kernel.org/r/20240309202445.work.165-kees@kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/randomize_kstack.h