* [PATCH v3 1/4] arm64: vdso: put ELF related sections in the linker script
2022-04-13 10:18 [PATCH v3 0/4] Enable orphan-handling=warn for VDSO Joey Gouly
@ 2022-04-13 10:18 ` Joey Gouly
2022-04-13 10:18 ` [PATCH v3 2/4] arm64: vdso: enable orphan handling for VDSO Joey Gouly
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Joey Gouly @ 2022-04-13 10:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: nd, catalin.marinas, joey.gouly, keescook, masahiroy,
vincenzo.frascino, will
Use macros from vmlinux.lds.h to explicitly name sections that are included
in the VDSO output.
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Kees Cook <keescook@chromium.org>
---
arch/arm64/kernel/vdso/vdso.lds.S | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
index a5e61e09ea92..8a8780c6d093 100644
--- a/arch/arm64/kernel/vdso/vdso.lds.S
+++ b/arch/arm64/kernel/vdso/vdso.lds.S
@@ -11,6 +11,7 @@
#include <linux/const.h>
#include <asm/page.h>
#include <asm/vdso.h>
+#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
OUTPUT_ARCH(aarch64)
@@ -54,6 +55,9 @@ SECTIONS
_end = .;
PROVIDE(end = .);
+ DWARF_DEBUG
+ ELF_DETAILS
+
/DISCARD/ : {
*(.data .data.* .gnu.linkonce.d.* .sdata*)
*(.bss .sbss .dynbss .dynsbss)
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 2/4] arm64: vdso: enable orphan handling for VDSO
2022-04-13 10:18 [PATCH v3 0/4] Enable orphan-handling=warn for VDSO Joey Gouly
2022-04-13 10:18 ` [PATCH v3 1/4] arm64: vdso: put ELF related sections in the linker script Joey Gouly
@ 2022-04-13 10:18 ` Joey Gouly
2022-04-13 10:18 ` [PATCH v3 3/4] arm64: vdso32: put ELF related sections in the linker script Joey Gouly
2022-04-13 10:18 ` [PATCH v3 4/4] arm64: vdso32: enable orphan handling for VDSO Joey Gouly
3 siblings, 0 replies; 5+ messages in thread
From: Joey Gouly @ 2022-04-13 10:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: nd, catalin.marinas, joey.gouly, keescook, masahiroy,
vincenzo.frascino, will
Like vmlinux, enable orphan-handling for the VDSO. This can catch
subtle errors that might arise from unexpected sections being included.
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Kees Cook <keescook@chromium.org>
---
arch/arm64/kernel/vdso/Makefile | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/vdso/Makefile b/arch/arm64/kernel/vdso/Makefile
index 172452f79e46..623d9ad2c717 100644
--- a/arch/arm64/kernel/vdso/Makefile
+++ b/arch/arm64/kernel/vdso/Makefile
@@ -24,7 +24,13 @@ btildflags-$(CONFIG_ARM64_BTI_KERNEL) += -z force-bti
# routines, as x86 does (see 6f121e548f83 ("x86, vdso: Reimplement vdso.so
# preparation in build-time C")).
ldflags-y := -shared -soname=linux-vdso.so.1 --hash-style=sysv \
- -Bsymbolic --build-id=sha1 -n $(btildflags-y) -T
+ -Bsymbolic --build-id=sha1 -n $(btildflags-y)
+
+ifdef CONFIG_LD_ORPHAN_WARN
+ ldflags-y += --orphan-handling=warn
+endif
+
+ldflags-y += -T
ccflags-y := -fno-common -fno-builtin -fno-stack-protector -ffixed-x18
ccflags-y += -DDISABLE_BRANCH_PROFILING -DBUILD_VDSO
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 3/4] arm64: vdso32: put ELF related sections in the linker script
2022-04-13 10:18 [PATCH v3 0/4] Enable orphan-handling=warn for VDSO Joey Gouly
2022-04-13 10:18 ` [PATCH v3 1/4] arm64: vdso: put ELF related sections in the linker script Joey Gouly
2022-04-13 10:18 ` [PATCH v3 2/4] arm64: vdso: enable orphan handling for VDSO Joey Gouly
@ 2022-04-13 10:18 ` Joey Gouly
2022-04-13 10:18 ` [PATCH v3 4/4] arm64: vdso32: enable orphan handling for VDSO Joey Gouly
3 siblings, 0 replies; 5+ messages in thread
From: Joey Gouly @ 2022-04-13 10:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: nd, catalin.marinas, joey.gouly, keescook, masahiroy,
vincenzo.frascino, will
Use macros from vmlinux.lds.h to explicitly name sections that are included
in the compat VDSO32 output.
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Kees Cook <keescook@chromium.org>
---
arch/arm64/kernel/vdso32/vdso.lds.S | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/kernel/vdso32/vdso.lds.S b/arch/arm64/kernel/vdso32/vdso.lds.S
index 3348ce5ea306..3bb955f08240 100644
--- a/arch/arm64/kernel/vdso32/vdso.lds.S
+++ b/arch/arm64/kernel/vdso32/vdso.lds.S
@@ -11,6 +11,7 @@
#include <linux/const.h>
#include <asm/page.h>
#include <asm/vdso.h>
+#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
@@ -42,6 +43,9 @@ SECTIONS
.got : { *(.got) }
.rel.plt : { *(.rel.plt) }
+ ELF_DETAILS
+ .ARM.attributes 0 : { *(.ARM.attributes) }
+
/DISCARD/ : {
*(.note.GNU-stack)
*(.data .data.* .gnu.linkonce.d.* .sdata*)
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v3 4/4] arm64: vdso32: enable orphan handling for VDSO
2022-04-13 10:18 [PATCH v3 0/4] Enable orphan-handling=warn for VDSO Joey Gouly
` (2 preceding siblings ...)
2022-04-13 10:18 ` [PATCH v3 3/4] arm64: vdso32: put ELF related sections in the linker script Joey Gouly
@ 2022-04-13 10:18 ` Joey Gouly
3 siblings, 0 replies; 5+ messages in thread
From: Joey Gouly @ 2022-04-13 10:18 UTC (permalink / raw)
To: linux-arm-kernel
Cc: nd, catalin.marinas, joey.gouly, keescook, masahiroy,
vincenzo.frascino, will
Like vmlinux, enable orphan-handling for the compat VDSO32. This can catch
subtle errors that might arise from unexpected sections being included.
Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Kees Cook <keescook@chromium.org>
---
arch/arm64/kernel/vdso32/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
index ed181bedbffc..1bf0bfb99652 100644
--- a/arch/arm64/kernel/vdso32/Makefile
+++ b/arch/arm64/kernel/vdso32/Makefile
@@ -104,6 +104,7 @@ VDSO_AFLAGS += -D__ASSEMBLY__
VDSO_LDFLAGS += -Bsymbolic --no-undefined -soname=linux-vdso.so.1
VDSO_LDFLAGS += -z max-page-size=4096 -z common-page-size=4096
VDSO_LDFLAGS += -shared --hash-style=sysv --build-id=sha1
+VDSO_LDFLAGS += --orphan-handling=warn
# Borrow vdsomunge.c from the arm vDSO
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 5+ messages in thread