]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tools/nolibc: stackprotector: Avoid stalling program startup if crng is not init yet
authorDaniel Palmer <daniel@thingy.jp>
Fri, 22 May 2026 09:07:26 +0000 (18:07 +0900)
committerThomas Weißschuh <linux@weissschuh.net>
Sun, 24 May 2026 21:52:58 +0000 (23:52 +0200)
commitb882d807fa443b529ae8bf917d7b640a8d555437
tree9d064cd82a8fa9b5024dbd0ef91f5d7a1dbb7d5e
parent136ca91411b0b637e862eb7b1cce2a56853edd17
tools/nolibc: stackprotector: Avoid stalling program startup if crng is not init yet

We are using the getrandom syscall to get a random seed for the
stack protector canary but we are calling it with no flags which means
it'll block until there is some real randomness to return.

This means that if the crng is not ready yet program startup will
block and if you are unlucky that could be for a long time and
look like the program has crashed.

Even if the call to getrandom does not yield any random data,
we will still initialize the canary.

Fixes: 7188d4637e95 ("tools/nolibc: add support for stack protector")
Signed-off-by: Daniel Palmer <daniel@thingy.jp>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260522090726.726985-1-daniel@thingy.jp
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
tools/include/nolibc/stackprotector.h