+ fstack-protector-feature-enable-the-compiler-flags.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     -fstack-protector feature: Enable the compiler flags in CFLAGS

has been added to the -mm tree.  Its filename is

     fstack-protector-feature-enable-the-compiler-flags.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: -fstack-protector feature: Enable the compiler flags in CFLAGS
From: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>

Add a feature check that checks that the gcc compiler has stack-protector
support and has the bugfix for PR28281 to make this work in kernel mode.

The easiest solution I could find was to have a shell script in scripts/ to do
the detection; if needed we can make this fancier in the future without making
the makefile too complex.

Signed-off-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxx>
Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 arch/x86_64/Makefile                      |    9 +++++++++
 scripts/gcc-x86_64-has-stack-protector.sh |    6 ++++++
 2 files changed, 15 insertions(+)

diff -puN arch/x86_64/Makefile~fstack-protector-feature-enable-the-compiler-flags arch/x86_64/Makefile
--- a/arch/x86_64/Makefile~fstack-protector-feature-enable-the-compiler-flags
+++ a/arch/x86_64/Makefile
@@ -55,6 +55,15 @@ cflags-y += $(call cc-option,-funit-at-a
 # prevent gcc from generating any FP code by mistake
 cflags-y += $(call cc-option,-mno-sse -mno-mmx -mno-sse2 -mno-3dnow,)
 
+
+stack-protector = $(shell $(CONFIG_SHELL) \
+	$(srctree)/scripts/gcc-x86_64-has-stack-protector.sh $(1))
+
+cflags-$(CONFIG_CC_STACKPROTECTOR) += \
+	$(call stack-protector, $(CC) -fstack-protector)
+cflags-$(CONFIG_CC_STACKPROTECTOR_ALL) += \
+	$(call stack-protector, $(CC) -fstack-protector-all)
+
 CFLAGS += $(cflags-y)
 CFLAGS_KERNEL += $(cflags-kernel-y)
 AFLAGS += -m64
diff -puN /dev/null scripts/gcc-x86_64-has-stack-protector.sh
--- /dev/null
+++ a/scripts/gcc-x86_64-has-stack-protector.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+echo "int foo(void) { char X[200]; return 3; }" | $1 -S -xc -c -O0 -mcmodel=kernel -fstack-protector - -o - | grep -q "%gs"
+if [ "$?" -eq "0" ] ; then
+	echo $2
+fi
_

Patches currently in -mm which might be from arjan@xxxxxxxxxxxxxxx are

lockdep-fix-blkdev_open-warning.patch
lockdep-fix-blkdev_open-warning-fix.patch
git-netdev-all.patch
lockdep-fix-sk_dst_check-deadlock.patch
fstack-protector-feature-annotate-the-pda-offsets.patch
fstack-protector-feature-add-the-kconfig-option.patch
fstack-protector-feature-add-the-canary-field-to-the.patch
fstack-protector-feature-add-the-__stack_chk_fail.patch
fstack-protector-feature-enable-the-compiler-flags.patch
slab-fix-lockdep-warnings.patch
slab-fix-lockdep-warnings-fix.patch
slab-fix-lockdep-warnings-fix-2.patch
sleazy-fpu-feature-i386-support.patch
make-prot_write-imply-prot_read.patch
lockdep-dont-pull-in-includes-when-lockdep-disabled.patch
lockdep-print-kernel-version.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux