Joseph Cihula
2009-Mar-30 21:03 UTC
[PATCH] x86: disable stack-protector for __restore_processor_state()
The __restore_processor_state() fn restores %gs on resume from S3. As such, it cannot be protected by the stack-protector guard since %gs will not be correct on function entry. There are only a few other fns in this file and it should not negatively impact kernel security that they will also have the stack-protector guard removed (and so it's not worth moving them to another file). Without this change, S3 resume on a kernel built with CONFIG_CC_STACKPROTECTOR_ALL=y will fail. Signed-off-by: Joseph Cihula <joseph.cihula at intel.com> Cc: Arjan van de Ven <arjan at linux.intel.com> Cc: Tejun Heo <tj at kernel.org> LKML-Reference: <49D13385.5060900 at intel.com> Signed-off-by: Ingo Molnar <mingo at elte.hu> --- arch/x86/power/Makefile | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/arch/x86/power/Makefile b/arch/x86/power/Makefile index 9ff4d5b..58b32db 100644 --- a/arch/x86/power/Makefile +++ b/arch/x86/power/Makefile @@ -1,2 +1,7 @@ +# __restore_processor_state() restores %gs after S3 resume and so should not +# itself be stack-protected +nostackp := $(call cc-option, -fno-stack-protector) +CFLAGS_cpu_$(BITS).o := $(nostackp) + obj-$(CONFIG_PM_SLEEP) += cpu_$(BITS).o obj-$(CONFIG_HIBERNATION) += hibernate_$(BITS).o hibernate_asm_$(BITS).o
Reasonably Related Threads
- [PATCH] x86: disable stack-protector for __restore_processor_state()
- [PATCH v4 34/75] x86/head/64: Build k/head64.c with -fno-stack-protector
- [PATCH v3 35/75] x86/head/64: Build k/head64.c with -fno-stack-protector
- [PATCH v4 34/75] x86/head/64: Build k/head64.c with -fno-stack-protector
- [PATCH v3 35/75] x86/head/64: Build k/head64.c with -fno-stack-protector