]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/vdso: Disable kstack erase
authorHeiko Carstens <hca@linux.ibm.com>
Fri, 9 Jan 2026 09:33:14 +0000 (10:33 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Sat, 17 Jan 2026 14:51:28 +0000 (15:51 +0100)
For some reason gcc 8, 9, 10, and 11 generate a dynamic relocation in
vdso.so.dbg if CONFIG_KSTACK_ERASE is enabled:

>> arch/s390/kernel/vdso/vdso.so.dbg: dynamic relocations are not supported
   make[3]: *** [arch/s390/kernel/vdso/Makefile:54: arch/s390/kernel/vdso/vdso.so.dbg] Error 1

$ readelf -rW arch/s390/kernel/vdso/vdso.so.dbg

Relocation section '.rela.dyn' at offset 0x15c0 contains 1 entry:
    Offset             Info             Type               Symbol's Value  Symbol's Name + Addend
00000000000015f0  000000010000000b R_390_JMP_SLOT         0000000000000000 __sanitizer_cov_stack_depth + 0

Add $(DISABLE_KSTACK_ERASE) to vdso compile flags to fix this.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/r/202601070505.xQcLr5KV-lkp@intel.com/
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/kernel/vdso/Makefile

index 2fa12d4ac1060b4924267e1011fe182de834bd4d..fece5d975eaf8f57e036f82df7a0eb30ceb1129e 100644 (file)
@@ -28,7 +28,7 @@ KBUILD_CFLAGS_VDSO := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAG
 KBUILD_CFLAGS_VDSO := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_VDSO))
 KBUILD_CFLAGS_VDSO := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_VDSO))
 KBUILD_CFLAGS_VDSO += -fPIC -fno-common -fno-builtin -fasynchronous-unwind-tables
-KBUILD_CFLAGS_VDSO += -fno-stack-protector
+KBUILD_CFLAGS_VDSO += -fno-stack-protector $(DISABLE_KSTACK_ERASE)
 ldflags-y := -shared -soname=linux-vdso.so.1 \
             --hash-style=both --build-id=sha1 -T