arm64: enable per-task stack canaries
This enables the use of per-task stack canary values if GCC has support for emitting the stack canary reference relative to the value of sp_el0, which holds the task struct pointer in the arm64 kernel. The $(eval) extends KBUILD_CFLAGS at the moment the make rule is applied, which means asm-offsets.o (which we rely on for the offset value) is built without the arguments, and everything built afterwards has the options set. Reviewed-by:Kees Cook <keescook@chromium.org> Signed-off-by:
Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by:
Will Deacon <will.deacon@arm.com>
Showing
- arch/arm64/Kconfig 7 additions, 0 deletionsarch/arm64/Kconfig
- arch/arm64/Makefile 10 additions, 0 deletionsarch/arm64/Makefile
- arch/arm64/include/asm/stackprotector.h 2 additions, 1 deletionarch/arm64/include/asm/stackprotector.h
- arch/arm64/kernel/asm-offsets.c 3 additions, 0 deletionsarch/arm64/kernel/asm-offsets.c
- arch/arm64/kernel/process.c 1 addition, 1 deletionarch/arm64/kernel/process.c
Loading
Please register or sign in to comment