[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200721093448.10417-1-joro@8bytes.org>
Date: Tue, 21 Jul 2020 11:34:48 +0200
From: Joerg Roedel <joro@...tes.org>
To: x86@...nel.org
Cc: hpa@...or.com, Arnd Bergmann <arnd@...db.de>,
Kees Cook <keescook@...omium.org>,
Heiko Carstens <hca@...ux.ibm.com>,
Joerg Roedel <jroedel@...e.de>,
Bob Haarman <inglorion@...gle.com>, hjl.tools@...il.com,
Arvind Sankar <nivedita@...m.mit.edu>,
Dmitry Safonov <0x7f454c46@...il.com>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: [PATCH] x86, vmlinux.lds: Page-Align end of ..page_aligned sections
From: Joerg Roedel <jroedel@...e.de>
Align the end of the .bss..page_aligned and .data..page_aligned section
on page-size too. Otherwise the linker might place other objects on the
page of the last ..page_aligned object. This is inconsistent with other
objects in those sections, which all have their own page.
Signed-off-by: Joerg Roedel <jroedel@...e.de>
---
arch/x86/kernel/vmlinux.lds.S | 1 +
include/asm-generic/vmlinux.lds.h | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 3bfc8dd8a43d..9a03e5b23135 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -358,6 +358,7 @@ SECTIONS
.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
__bss_start = .;
*(.bss..page_aligned)
+ . = ALIGN(PAGE_SIZE);
*(BSS_MAIN)
BSS_DECRYPTED
. = ALIGN(PAGE_SIZE);
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 3ceb4b7279ec..bd6302bd1d0f 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -360,7 +360,8 @@
#define PAGE_ALIGNED_DATA(page_align) \
. = ALIGN(page_align); \
- *(.data..page_aligned)
+ *(.data..page_aligned) \
+ . = ALIGN(page_align);
#define READ_MOSTLY_DATA(align) \
. = ALIGN(align); \
@@ -758,6 +759,7 @@
.bss : AT(ADDR(.bss) - LOAD_OFFSET) { \
BSS_FIRST_SECTIONS \
*(.bss..page_aligned) \
+ . = ALIGN(PAGE_SIZE); \
*(.dynbss) \
*(BSS_MAIN) \
*(COMMON) \
--
2.27.0
Powered by blists - more mailing lists