]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Per-thread stack canary on arm64
authorAndrew Turner <andrew@FreeBSD.org>
Mon, 22 Nov 2021 15:20:51 +0000 (15:20 +0000)
committerAndrew Turner <andrew@FreeBSD.org>
Fri, 26 Nov 2021 14:44:00 +0000 (14:44 +0000)
commitae92ace05fd4fcf64e3bb787951578f655b1fa5f
treeda115a901638bb305e10e6e23612ae7c82150985
parent7b3642da21cb4b1c301d8c6b6ce0847d19d8a473
Per-thread stack canary on arm64

With the update to llvm 13 we are able to tell the compiler it can find
the SSP canary relative to the register that holds the userspace stack
pointer. As this is unused in most of the kernel it can be used here
to point to a per-thread SSP canary.

As the kernel could be built with an old toolchain, e.g. when upgrading
from 13, add a warning that the options was enabled but the compiler
doesn't support it to both the build and kernel boot.

Discussed with: emaste
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33079
sys/arm64/arm64/exception.S
sys/arm64/arm64/genassym.c
sys/arm64/arm64/locore.S
sys/arm64/arm64/machdep.c
sys/arm64/arm64/pmap.c
sys/arm64/arm64/vm_machdep.c
sys/arm64/conf/std.arm64
sys/arm64/include/proc.h
sys/conf/Makefile.arm64
sys/conf/options.arm64