All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Borislav Petkov <bp@alien8.de>
Cc: Kees Cook <keescook@chromium.org>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Andy Lutomirski <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Will Deacon <will@kernel.org>,
	linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-alpha@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Michal Simek <monstr@monstr.eu>,
	linux-parisc@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 08/29] vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
Date: Thu, 10 Oct 2019 17:05:48 -0700	[thread overview]
Message-ID: <20191011000609.29728-9-keescook@chromium.org> (raw)
In-Reply-To: <20191011000609.29728-1-keescook@chromium.org>

In preparation for moving NOTES into RO_DATA, provide a mechanism for
architectures that want to emit a PT_NOTE Program Header to do so.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/alpha/kernel/vmlinux.lds.S   |  3 +++
 arch/ia64/kernel/vmlinux.lds.S    |  2 ++
 arch/mips/kernel/vmlinux.lds.S    | 12 ++++++------
 arch/powerpc/kernel/vmlinux.lds.S |  1 +
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/x86/kernel/vmlinux.lds.S     |  2 ++
 include/asm-generic/vmlinux.lds.h |  8 ++++++++
 7 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 781090cacc96..363a60ba7c31 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -1,4 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
 #include <asm/cache.h>
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 2c4f23c390ad..7cf4958b732d 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -5,6 +5,8 @@
 #include <asm/pgtable.h>
 #include <asm/thread_info.h>
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 
 OUTPUT_FORMAT("elf64-ia64-little")
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 33ee0d18fb0a..1c95612eb800 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -10,6 +10,11 @@
  */
 #define BSS_FIRST_SECTIONS *(.bss..swapper_pg_dir)
 
+/* Cavium Octeon should not have a separate PT_NOTE Program Header. */
+#ifndef CONFIG_CAVIUM_OCTEON_SOC
+#define EMITS_PT_NOTE
+#endif
+
 #include <asm-generic/vmlinux.lds.h>
 
 #undef mips
@@ -76,12 +81,7 @@ SECTIONS
 		__stop___dbe_table = .;
 	}
 
-#ifdef CONFIG_CAVIUM_OCTEON_SOC
-#define NOTES_HEADER
-#else /* CONFIG_CAVIUM_OCTEON_SOC */
-#define NOTES_HEADER :note
-#endif /* CONFIG_CAVIUM_OCTEON_SOC */
-	NOTES :text NOTES_HEADER
+	NOTES NOTES_HEADERS
 	.dummy : { *(.dummy) } :text
 
 	_sdata = .;			/* Start of data section */
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index e184a63aa5b0..7e26e20c8324 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -6,6 +6,7 @@
 #endif
 
 #define BSS_FIRST_SECTIONS *(.bss.prominit)
+#define EMITS_PT_NOTE
 
 #include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 13294fef473e..646d939346df 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -15,6 +15,8 @@
 /* Handle ro_after_init data on our own. */
 #define RO_AFTER_INIT_DATA
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/vmlinux.lds.h>
 
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 788e78978030..2e18bf5c1aed 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -21,6 +21,8 @@
 #define LOAD_OFFSET __START_KERNEL_map
 #endif
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index dae64600ccbf..f5dd45ce73f1 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -54,6 +54,14 @@
 #define LOAD_OFFSET 0
 #endif
 
+/*
+ * Only some architectures want to have the .notes segment visible in
+ * a separate PT_NOTE ELF Program Header.
+ */
+#ifdef EMITS_PT_NOTE
+#define NOTES_HEADERS		:text :note
+#endif
+
 /* Align . to a 8 byte boundary equals to maximum function alignment. */
 #define ALIGN_FUNCTION()  . = ALIGN(8)
 
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Borislav Petkov <bp@alien8.de>
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Michal Simek <monstr@monstr.eu>,
	x86@kernel.org, linux-ia64@vger.kernel.org,
	Kees Cook <keescook@chromium.org>, Arnd Bergmann <arnd@arndb.de>,
	linux-xtensa@linux-xtensa.org,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	linuxppc-dev@lists.ozlabs.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-parisc@vger.kernel.org, Andy Lutomirski <luto@kernel.org>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-c6x-dev@linux-c6x.org
Subject: [PATCH v2 08/29] vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
Date: Thu, 10 Oct 2019 17:05:48 -0700	[thread overview]
Message-ID: <20191011000609.29728-9-keescook@chromium.org> (raw)
In-Reply-To: <20191011000609.29728-1-keescook@chromium.org>

In preparation for moving NOTES into RO_DATA, provide a mechanism for
architectures that want to emit a PT_NOTE Program Header to do so.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/alpha/kernel/vmlinux.lds.S   |  3 +++
 arch/ia64/kernel/vmlinux.lds.S    |  2 ++
 arch/mips/kernel/vmlinux.lds.S    | 12 ++++++------
 arch/powerpc/kernel/vmlinux.lds.S |  1 +
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/x86/kernel/vmlinux.lds.S     |  2 ++
 include/asm-generic/vmlinux.lds.h |  8 ++++++++
 7 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 781090cacc96..363a60ba7c31 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -1,4 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
 #include <asm/cache.h>
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 2c4f23c390ad..7cf4958b732d 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -5,6 +5,8 @@
 #include <asm/pgtable.h>
 #include <asm/thread_info.h>
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 
 OUTPUT_FORMAT("elf64-ia64-little")
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 33ee0d18fb0a..1c95612eb800 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -10,6 +10,11 @@
  */
 #define BSS_FIRST_SECTIONS *(.bss..swapper_pg_dir)
 
+/* Cavium Octeon should not have a separate PT_NOTE Program Header. */
+#ifndef CONFIG_CAVIUM_OCTEON_SOC
+#define EMITS_PT_NOTE
+#endif
+
 #include <asm-generic/vmlinux.lds.h>
 
 #undef mips
@@ -76,12 +81,7 @@ SECTIONS
 		__stop___dbe_table = .;
 	}
 
-#ifdef CONFIG_CAVIUM_OCTEON_SOC
-#define NOTES_HEADER
-#else /* CONFIG_CAVIUM_OCTEON_SOC */
-#define NOTES_HEADER :note
-#endif /* CONFIG_CAVIUM_OCTEON_SOC */
-	NOTES :text NOTES_HEADER
+	NOTES NOTES_HEADERS
 	.dummy : { *(.dummy) } :text
 
 	_sdata = .;			/* Start of data section */
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index e184a63aa5b0..7e26e20c8324 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -6,6 +6,7 @@
 #endif
 
 #define BSS_FIRST_SECTIONS *(.bss.prominit)
+#define EMITS_PT_NOTE
 
 #include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 13294fef473e..646d939346df 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -15,6 +15,8 @@
 /* Handle ro_after_init data on our own. */
 #define RO_AFTER_INIT_DATA
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/vmlinux.lds.h>
 
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 788e78978030..2e18bf5c1aed 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -21,6 +21,8 @@
 #define LOAD_OFFSET __START_KERNEL_map
 #endif
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index dae64600ccbf..f5dd45ce73f1 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -54,6 +54,14 @@
 #define LOAD_OFFSET 0
 #endif
 
+/*
+ * Only some architectures want to have the .notes segment visible in
+ * a separate PT_NOTE ELF Program Header.
+ */
+#ifdef EMITS_PT_NOTE
+#define NOTES_HEADERS		:text :note
+#endif
+
 /* Align . to a 8 byte boundary equals to maximum function alignment. */
 #define ALIGN_FUNCTION()  . = ALIGN(8)
 
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Borislav Petkov <bp@alien8.de>
Cc: linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Michal Simek <monstr@monstr.eu>,
	x86@kernel.org, linux-ia64@vger.kernel.org,
	Kees Cook <keescook@chromium.org>, Arnd Bergmann <arnd@arndb.de>,
	linux-xtensa@linux-xtensa.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	linuxppc-dev@lists.ozlabs.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-parisc@vger.kernel.org, Andy Lutomirski <luto@kernel.org>,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-c6x-dev@linux-c6x.org
Subject: [PATCH v2 08/29] vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
Date: Thu, 10 Oct 2019 17:05:48 -0700	[thread overview]
Message-ID: <20191011000609.29728-9-keescook@chromium.org> (raw)
In-Reply-To: <20191011000609.29728-1-keescook@chromium.org>

In preparation for moving NOTES into RO_DATA, provide a mechanism for
architectures that want to emit a PT_NOTE Program Header to do so.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/alpha/kernel/vmlinux.lds.S   |  3 +++
 arch/ia64/kernel/vmlinux.lds.S    |  2 ++
 arch/mips/kernel/vmlinux.lds.S    | 12 ++++++------
 arch/powerpc/kernel/vmlinux.lds.S |  1 +
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/x86/kernel/vmlinux.lds.S     |  2 ++
 include/asm-generic/vmlinux.lds.h |  8 ++++++++
 7 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 781090cacc96..363a60ba7c31 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -1,4 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
 #include <asm/cache.h>
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 2c4f23c390ad..7cf4958b732d 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -5,6 +5,8 @@
 #include <asm/pgtable.h>
 #include <asm/thread_info.h>
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 
 OUTPUT_FORMAT("elf64-ia64-little")
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 33ee0d18fb0a..1c95612eb800 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -10,6 +10,11 @@
  */
 #define BSS_FIRST_SECTIONS *(.bss..swapper_pg_dir)
 
+/* Cavium Octeon should not have a separate PT_NOTE Program Header. */
+#ifndef CONFIG_CAVIUM_OCTEON_SOC
+#define EMITS_PT_NOTE
+#endif
+
 #include <asm-generic/vmlinux.lds.h>
 
 #undef mips
@@ -76,12 +81,7 @@ SECTIONS
 		__stop___dbe_table = .;
 	}
 
-#ifdef CONFIG_CAVIUM_OCTEON_SOC
-#define NOTES_HEADER
-#else /* CONFIG_CAVIUM_OCTEON_SOC */
-#define NOTES_HEADER :note
-#endif /* CONFIG_CAVIUM_OCTEON_SOC */
-	NOTES :text NOTES_HEADER
+	NOTES NOTES_HEADERS
 	.dummy : { *(.dummy) } :text
 
 	_sdata = .;			/* Start of data section */
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index e184a63aa5b0..7e26e20c8324 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -6,6 +6,7 @@
 #endif
 
 #define BSS_FIRST_SECTIONS *(.bss.prominit)
+#define EMITS_PT_NOTE
 
 #include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 13294fef473e..646d939346df 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -15,6 +15,8 @@
 /* Handle ro_after_init data on our own. */
 #define RO_AFTER_INIT_DATA
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/vmlinux.lds.h>
 
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 788e78978030..2e18bf5c1aed 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -21,6 +21,8 @@
 #define LOAD_OFFSET __START_KERNEL_map
 #endif
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index dae64600ccbf..f5dd45ce73f1 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -54,6 +54,14 @@
 #define LOAD_OFFSET 0
 #endif
 
+/*
+ * Only some architectures want to have the .notes segment visible in
+ * a separate PT_NOTE ELF Program Header.
+ */
+#ifdef EMITS_PT_NOTE
+#define NOTES_HEADERS		:text :note
+#endif
+
 /* Align . to a 8 byte boundary equals to maximum function alignment. */
 #define ALIGN_FUNCTION()  . = ALIGN(8)
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Kees Cook <keescook@chromium.org>
To: Borislav Petkov <bp@alien8.de>
Cc: Kees Cook <keescook@chromium.org>,
	Rick Edgecombe <rick.p.edgecombe@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Andy Lutomirski <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Will Deacon <will@kernel.org>,
	linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-alpha@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-s390@vger.kernel.org,
	linux-c6x-dev@linux-c6x.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Michal Simek <monstr@monstr.eu>,
	linux-parisc@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 08/29] vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes
Date: Fri, 11 Oct 2019 00:05:48 +0000	[thread overview]
Message-ID: <20191011000609.29728-9-keescook@chromium.org> (raw)
In-Reply-To: <20191011000609.29728-1-keescook@chromium.org>

In preparation for moving NOTES into RO_DATA, provide a mechanism for
architectures that want to emit a PT_NOTE Program Header to do so.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/alpha/kernel/vmlinux.lds.S   |  3 +++
 arch/ia64/kernel/vmlinux.lds.S    |  2 ++
 arch/mips/kernel/vmlinux.lds.S    | 12 ++++++------
 arch/powerpc/kernel/vmlinux.lds.S |  1 +
 arch/s390/kernel/vmlinux.lds.S    |  2 ++
 arch/x86/kernel/vmlinux.lds.S     |  2 ++
 include/asm-generic/vmlinux.lds.h |  8 ++++++++
 7 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index 781090cacc96..363a60ba7c31 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -1,4 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
+
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/thread_info.h>
 #include <asm/cache.h>
diff --git a/arch/ia64/kernel/vmlinux.lds.S b/arch/ia64/kernel/vmlinux.lds.S
index 2c4f23c390ad..7cf4958b732d 100644
--- a/arch/ia64/kernel/vmlinux.lds.S
+++ b/arch/ia64/kernel/vmlinux.lds.S
@@ -5,6 +5,8 @@
 #include <asm/pgtable.h>
 #include <asm/thread_info.h>
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 
 OUTPUT_FORMAT("elf64-ia64-little")
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index 33ee0d18fb0a..1c95612eb800 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -10,6 +10,11 @@
  */
 #define BSS_FIRST_SECTIONS *(.bss..swapper_pg_dir)
 
+/* Cavium Octeon should not have a separate PT_NOTE Program Header. */
+#ifndef CONFIG_CAVIUM_OCTEON_SOC
+#define EMITS_PT_NOTE
+#endif
+
 #include <asm-generic/vmlinux.lds.h>
 
 #undef mips
@@ -76,12 +81,7 @@ SECTIONS
 		__stop___dbe_table = .;
 	}
 
-#ifdef CONFIG_CAVIUM_OCTEON_SOC
-#define NOTES_HEADER
-#else /* CONFIG_CAVIUM_OCTEON_SOC */
-#define NOTES_HEADER :note
-#endif /* CONFIG_CAVIUM_OCTEON_SOC */
-	NOTES :text NOTES_HEADER
+	NOTES NOTES_HEADERS
 	.dummy : { *(.dummy) } :text
 
 	_sdata = .;			/* Start of data section */
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index e184a63aa5b0..7e26e20c8324 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -6,6 +6,7 @@
 #endif
 
 #define BSS_FIRST_SECTIONS *(.bss.prominit)
+#define EMITS_PT_NOTE
 
 #include <asm/page.h>
 #include <asm-generic/vmlinux.lds.h>
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 13294fef473e..646d939346df 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -15,6 +15,8 @@
 /* Handle ro_after_init data on our own. */
 #define RO_AFTER_INIT_DATA
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/vmlinux.lds.h>
 
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 788e78978030..2e18bf5c1aed 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -21,6 +21,8 @@
 #define LOAD_OFFSET __START_KERNEL_map
 #endif
 
+#define EMITS_PT_NOTE
+
 #include <asm-generic/vmlinux.lds.h>
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index dae64600ccbf..f5dd45ce73f1 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -54,6 +54,14 @@
 #define LOAD_OFFSET 0
 #endif
 
+/*
+ * Only some architectures want to have the .notes segment visible in
+ * a separate PT_NOTE ELF Program Header.
+ */
+#ifdef EMITS_PT_NOTE
+#define NOTES_HEADERS		:text :note
+#endif
+
 /* Align . to a 8 byte boundary equals to maximum function alignment. */
 #define ALIGN_FUNCTION()  . = ALIGN(8)
 
-- 
2.17.1

  parent reply	other threads:[~2019-10-11  0:07 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11  0:05 [PATCH v2 00/29] vmlinux.lds.h: Refactor EXCEPTION_TABLE and NOTES Kees Cook
2019-10-11  0:05 ` Kees Cook
2019-10-11  0:05 ` Kees Cook
2019-10-11  0:05 ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 01/29] powerpc: Rename "notes" PT_NOTE to "note" Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  6:00   ` Michael Ellerman
2019-10-11  6:00     ` Michael Ellerman
2019-10-11  6:00     ` Michael Ellerman
2019-10-11  6:00     ` Michael Ellerman
2019-10-11  6:00     ` Michael Ellerman
2019-10-11  6:00     ` Michael Ellerman
2019-10-11  8:25   ` Segher Boessenkool
2019-10-11  8:25     ` Segher Boessenkool
2019-10-11  8:25     ` Segher Boessenkool
2019-10-11  8:25     ` Segher Boessenkool
2019-10-11 16:11     ` Kees Cook
2019-10-11 16:11       ` Kees Cook
2019-10-11 16:11       ` Kees Cook
2019-10-11 16:11       ` Kees Cook
2019-10-11 16:25       ` Segher Boessenkool
2019-10-11 16:25         ` Segher Boessenkool
2019-10-11 16:25         ` Segher Boessenkool
2019-10-11 16:25         ` Segher Boessenkool
2019-10-15 16:54         ` Borislav Petkov
2019-10-15 16:54           ` Borislav Petkov
2019-10-15 16:54           ` Borislav Petkov
2019-10-15 16:54           ` Borislav Petkov
2019-10-15 17:36           ` Kees Cook
2019-10-15 17:36             ` Kees Cook
2019-10-15 17:36             ` Kees Cook
2019-10-15 17:36             ` Kees Cook
2019-10-29 21:15           ` Kees Cook
2019-10-29 21:15             ` Kees Cook
2019-10-29 21:15             ` Kees Cook
2019-10-29 21:15             ` Kees Cook
2019-10-30  1:01             ` Segher Boessenkool
2019-10-30  1:01               ` Segher Boessenkool
2019-10-30  1:01               ` Segher Boessenkool
2019-10-30  1:01               ` Segher Boessenkool
2019-11-04  8:59               ` Borislav Petkov
2019-11-04  8:59                 ` Borislav Petkov
2019-11-04  8:59                 ` Borislav Petkov
2019-11-04  8:59                 ` Borislav Petkov
2019-10-11  0:05 ` [PATCH v2 02/29] powerpc: Remove PT_NOTE workaround Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  6:07   ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11 16:09     ` Kees Cook
2019-10-11 16:09       ` Kees Cook
2019-10-11 16:09       ` Kees Cook
2019-10-11 16:09       ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 03/29] powerpc: Rename PT_LOAD identifier "kernel" to "text" Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  6:07   ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  6:07     ` Michael Ellerman
2019-10-11  0:05 ` [PATCH v2 04/29] alpha: " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 05/29] ia64: Rename PT_LOAD identifier "code" " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 06/29] s390: Move RO_DATA into "text" PT_LOAD Program Header Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-16  8:25   ` Heiko Carstens
2019-10-16  8:25     ` Heiko Carstens
2019-10-16  8:25     ` Heiko Carstens
2019-10-16  8:25     ` Heiko Carstens
2019-10-11  0:05 ` [PATCH v2 07/29] x86: Restore "text" Program Header with dummy section Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` Kees Cook [this message]
2019-10-11  0:05   ` [PATCH v2 08/29] vmlinux.lds.h: Provide EMIT_PT_NOTE to indicate export of .notes Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 09/29] vmlinux.lds.h: Move Program Header restoration into NOTES macro Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 10/29] vmlinux.lds.h: Move NOTES into RO_DATA Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 11/29] vmlinux.lds.h: Replace RODATA with RO_DATA Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-11-11 16:58   ` Geert Uytterhoeven
2019-11-11 16:58     ` Geert Uytterhoeven
2019-11-11 16:58     ` Geert Uytterhoeven
2019-11-11 16:58     ` Geert Uytterhoeven
2019-11-11 16:58     ` Geert Uytterhoeven
2019-11-11 17:23     ` Kees Cook
2019-11-11 17:23       ` Kees Cook
2019-11-11 17:23       ` Kees Cook
2019-11-11 17:23       ` Kees Cook
2019-11-11 17:23       ` Kees Cook
2019-11-11 18:08       ` Geert Uytterhoeven
2019-11-11 18:08         ` Geert Uytterhoeven
2019-11-11 18:08         ` Geert Uytterhoeven
2019-11-11 18:08         ` Geert Uytterhoeven
2019-11-11 18:08         ` Geert Uytterhoeven
2019-11-12  9:07         ` Borislav Petkov
2019-11-12  9:07           ` Borislav Petkov
2019-11-12  9:07           ` Borislav Petkov
2019-11-12  9:07           ` Borislav Petkov
2019-11-12  9:07           ` Borislav Petkov
2019-11-12  9:13           ` Geert Uytterhoeven
2019-11-12  9:13             ` Geert Uytterhoeven
2019-11-12  9:13             ` Geert Uytterhoeven
2019-11-12  9:13             ` Geert Uytterhoeven
2019-11-12  9:13             ` Geert Uytterhoeven
2019-11-12  9:13             ` Geert Uytterhoeven
2019-11-12 20:55         ` Kees Cook
2019-11-12 20:55           ` Kees Cook
2019-11-12 20:55           ` Kees Cook
2019-11-12 20:55           ` Kees Cook
2019-11-12 20:55           ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 12/29] vmlinux.lds.h: Replace RO_DATA_SECTION " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  7:49   ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  0:05 ` [PATCH v2 13/29] vmlinux.lds.h: Replace RW_DATA_SECTION with RW_DATA Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  7:49   ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  7:49     ` Geert Uytterhoeven
2019-10-11  0:05 ` [PATCH v2 14/29] vmlinux.lds.h: Allow EXCEPTION_TABLE to live in RO_DATA Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 15/29] x86: Actually use _etext for end of text segment Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 16/29] x86: Move EXCEPTION_TABLE to RO_DATA segment Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 17/29] alpha: " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 18/29] arm64: " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05 ` [PATCH v2 19/29] c6x: " Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:05   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 20/29] h8300: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 21/29] ia64: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 22/29] microblaze: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 23/29] parisc: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-12  9:50   ` Helge Deller
2019-10-12  9:50     ` Helge Deller
2019-10-12  9:50     ` Helge Deller
2019-10-12  9:50     ` Helge Deller
2019-10-11  0:06 ` [PATCH v2 24/29] powerpc: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 25/29] xtensa: " Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-14  7:41   ` Max Filippov
2019-10-14  7:41     ` Max Filippov
2019-10-14  7:41     ` Max Filippov
2019-10-14  7:41     ` Max Filippov
2019-10-14  7:41     ` Max Filippov
2019-10-14  7:41     ` Max Filippov
2019-10-11  0:06 ` [PATCH v2 26/29] x86/mm: Remove redundant &s on addresses Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 27/29] x86/mm: Report which part of kernel image is freed Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 28/29] x86/mm: Report actual image regions in /proc/iomem Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06 ` [PATCH v2 29/29] x86: Use INT3 instead of NOP for linker fill bytes Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-11  0:06   ` Kees Cook
2019-10-16  8:28 ` [PATCH v2 00/29] vmlinux.lds.h: Refactor EXCEPTION_TABLE and NOTES Heiko Carstens
2019-10-16  8:28   ` Heiko Carstens
2019-10-16  8:28   ` Heiko Carstens
2019-10-16  8:28   ` Heiko Carstens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191011000609.29728-9-keescook@chromium.org \
    --to=keescook@chromium.org \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@kernel.org \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=rick.p.edgecombe@intel.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.