diff options
Diffstat (limited to 'arch/arm64/Makefile')
-rw-r--r-- | arch/arm64/Makefile | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile index a8f6aa92a144..8df25a60dbb9 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile @@ -88,6 +88,17 @@ ifeq ($(CONFIG_ARM64_MODULE_PLTS),y) KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/arm64/kernel/module.lds endif +RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern +RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC)) +export RETPOLINE_CFLAGS + +# Avoid indirect branches in kernel to deal with Spectre +ifdef CONFIG_RETPOLINE +ifneq ($(RETPOLINE_CFLAGS),) + KBUILD_CFLAGS += $(RETPOLINE_CFLAGS) -DRETPOLINE +endif +endif + # Default value head-y := arch/arm64/kernel/head.o |