Skip to content

Commit b8e1479

Browse files
committed
gcc-plugins: Remove ARM_SSP_PER_TASK plugin
As part of trying to remove GCC plugins from Linux, drop the ARM_SSP_PER_TASK plugin. The feature is available upstream since GCC 12, so anyone needing newer kernels with per-task ssp can update their compiler[1]. Suggested-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/all/08393aa3-05a3-4e3f-8004-f374a3ec4b7e@app.fastmail.com/ [1] Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20250409160409.work.168-kees@kernel.org Signed-off-by: Kees Cook <kees@kernel.org>
1 parent 28cd28a commit b8e1479

5 files changed

Lines changed: 2 additions & 120 deletions

File tree

arch/arm/Kconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1380,8 +1380,7 @@ config CC_HAVE_STACKPROTECTOR_TLS
13801380
config STACKPROTECTOR_PER_TASK
13811381
bool "Use a unique stack canary value for each task"
13821382
depends on STACKPROTECTOR && CURRENT_POINTER_IN_TPIDRURO && !XIP_DEFLATED_DATA
1383-
depends on GCC_PLUGINS || CC_HAVE_STACKPROTECTOR_TLS
1384-
select GCC_PLUGIN_ARM_SSP_PER_TASK if !CC_HAVE_STACKPROTECTOR_TLS
1383+
depends on CC_HAVE_STACKPROTECTOR_TLS
13851384
default y
13861385
help
13871386
Due to the fact that GCC uses an ordinary symbol reference from

arch/arm/boot/compressed/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
9696

9797
ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin \
9898
-I$(srctree)/scripts/dtc/libfdt -fno-stack-protector \
99-
-I$(obj) $(DISABLE_ARM_SSP_PER_TASK_PLUGIN)
99+
-I$(obj)
100100
ccflags-remove-$(CONFIG_FUNCTION_TRACER) += -pg
101101
asflags-y := -DZIMAGE
102102

scripts/Makefile.gcc-plugins

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,6 @@ ifdef CONFIG_GCC_PLUGIN_STACKLEAK
3636
endif
3737
export DISABLE_STACKLEAK_PLUGIN
3838

39-
gcc-plugin-$(CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK) += arm_ssp_per_task_plugin.so
40-
ifdef CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK
41-
DISABLE_ARM_SSP_PER_TASK_PLUGIN += -fplugin-arg-arm_ssp_per_task_plugin-disable
42-
endif
43-
export DISABLE_ARM_SSP_PER_TASK_PLUGIN
44-
4539
# All the plugin CFLAGS are collected here in case a build target needs to
4640
# filter them out of the KBUILD_CFLAGS.
4741
GCC_PLUGINS_CFLAGS := $(strip $(addprefix -fplugin=$(objtree)/scripts/gcc-plugins/, $(gcc-plugin-y)) $(gcc-plugin-cflags-y))

scripts/gcc-plugins/Kconfig

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,4 @@ config GCC_PLUGIN_LATENT_ENTROPY
4646
* https://grsecurity.net/
4747
* https://pax.grsecurity.net/
4848

49-
config GCC_PLUGIN_ARM_SSP_PER_TASK
50-
bool
51-
depends on GCC_PLUGINS && ARM
52-
5349
endif

scripts/gcc-plugins/arm_ssp_per_task_plugin.c

Lines changed: 0 additions & 107 deletions
This file was deleted.

0 commit comments

Comments
 (0)