linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arvind Sankar <nivedita@alum.mit.edu>
To: Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable from bzImage
Date: Thu,  9 Jan 2020 10:02:17 -0500	[thread overview]
Message-ID: <20200109150218.16544-1-nivedita@alum.mit.edu> (raw)

Commit 5b11f1cee579 ("x86, boot: straighten out ranges to copy/zero in
compressed/head*.S") introduced a separate .pgtable section, splitting
it out from the rest of .bss. This section was added without the
writeable flag, marking it as read-only. This results in the linker
putting the .rela.dyn section (containing bogus dynamic relocations from
head_64.o) after the .bss and .pgtable sections.

When we use objcopy to convert compressed/vmlinux into a binary for the
bzImage, the .bss and .pgtable sections get materialized as ~176KiB of
zero bytes in the binary in order to place .rela.dyn at the correct
location.

Fix this by marking .pgtable as writeable. This moves the .rela.dyn
section earlier so that .bss and .pgtable are the last allocated
sections and so don't appear in bzImage.

Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
---
 arch/x86/boot/compressed/head_64.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
index 58a512e33d8d..6eb30f8a3ce7 100644
--- a/arch/x86/boot/compressed/head_64.S
+++ b/arch/x86/boot/compressed/head_64.S
@@ -709,7 +709,7 @@ SYM_DATA_END_LABEL(boot_stack, SYM_L_LOCAL, boot_stack_end)
 /*
  * Space for page tables (not in .bss so not zeroed)
  */
-	.section ".pgtable","a",@nobits
+	.section ".pgtable","aw",@nobits
 	.balign 4096
 SYM_DATA_LOCAL(pgtable,		.fill BOOT_PGT_SIZE, 1, 0)
 
-- 
2.24.1


             reply	other threads:[~2020-01-09 15:02 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-09 15:02 Arvind Sankar [this message]
2020-01-09 15:02 ` [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections from bzImage Arvind Sankar
2020-02-06 11:44   ` Kees Cook
2020-02-19 16:55   ` [tip: x86/boot] " tip-bot2 for Arvind Sankar
2020-02-22  5:08   ` [PATCH 2/2] " Nathan Chancellor
2020-02-22  6:55     ` Borislav Petkov
2020-02-22  7:02       ` Nathan Chancellor
2020-02-22  7:21         ` Fangrui Song
2020-02-22  7:42           ` Nathan Chancellor
2020-02-22 15:37             ` Arvind Sankar
2020-02-22 16:44               ` Arvind Sankar
2020-02-22 17:18                 ` [PATCH] x86/boot/compressed: Fix compressed kernel linking with lld Arvind Sankar
2020-02-22 18:14                   ` Nathan Chancellor
2020-02-22 18:58                     ` Fangrui Song
2020-02-22 20:17                       ` Arvind Sankar
2020-02-22 21:01                         ` Fangrui Song
2020-02-22 23:33                           ` Nick Desaulniers
2020-02-22 23:57                             ` Arvind Sankar
2020-02-23 19:37                               ` [PATCH 0/2] Stop generating .eh_frame sections Arvind Sankar
2020-02-24  4:15                                 ` Nathan Chancellor
2020-02-24 20:49                                 ` Nick Desaulniers
2020-02-24 21:53                                   ` Arvind Sankar
2020-02-24 22:01                                     ` Nick Desaulniers
2020-02-23 19:37                               ` [PATCH 1/2] arch/x86: Use -fno-asynchronous-unwind-tables to suppress " Arvind Sankar
2020-02-24 20:33                                 ` Nick Desaulniers
2020-02-24 21:05                                   ` Arvind Sankar
2020-02-24 21:12                                     ` Fangrui Song
2020-02-24 21:17                                       ` Nick Desaulniers
2020-02-24 21:22                                         ` Nick Desaulniers
2020-02-23 19:37                               ` [PATCH 2/2] arch/x86: Drop unneeded linker script discard of .eh_frame Arvind Sankar
2020-02-24 20:45                                 ` Nick Desaulniers
2020-02-24 21:33                                   ` Arvind Sankar
2020-02-24 21:58                                     ` Nick Desaulniers
2020-02-24 23:21                                       ` [PATCH v2 0/2] Stop generating .eh_frame sections Arvind Sankar
2020-02-24 23:21                                       ` [PATCH v2 1/2] arch/x86: Use -fno-asynchronous-unwind-tables to suppress " Arvind Sankar
2020-02-24 23:28                                         ` Nathan Chancellor
2020-02-24 23:30                                         ` Nick Desaulniers
2020-02-25  4:10                                         ` Kees Cook
2020-02-25 16:53                                         ` [tip: x86/boot] x86/*/Makefile: " tip-bot2 for Arvind Sankar
2020-02-24 23:21                                       ` [PATCH v2 2/2] arch/x86: Drop unneeded linker script discard of .eh_frame Arvind Sankar
2020-02-24 23:28                                         ` Nathan Chancellor
2020-02-24 23:33                                         ` Nick Desaulniers
2020-02-25  4:11                                         ` Kees Cook
2020-02-25 16:53                                         ` [tip: x86/boot] x86/vmlinux: " tip-bot2 for Arvind Sankar
2020-02-23 22:00                           ` [PATCH] x86/boot/compressed: Fix compressed kernel linking with lld Kees Cook
2020-02-24  6:06                             ` Fangrui Song
2020-02-22 17:29                 ` [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections from bzImage Borislav Petkov
2020-02-22 17:53                   ` Arvind Sankar
2020-02-22  7:42           ` Borislav Petkov
2020-02-22 16:22             ` Arvind Sankar
2020-02-22 23:20               ` Nick Desaulniers
2020-02-24 13:28                 ` Michael Matz
2020-02-24 20:51                   ` Nick Desaulniers
2020-02-24 21:28                     ` Fangrui Song
2020-02-24 21:48                       ` Arvind Sankar
2020-02-24 22:17                         ` Fangrui Song
2020-02-24 22:43                           ` Arvind Sankar
2020-02-24 22:50                             ` Fangrui Song
2020-02-24 23:08                               ` Arvind Sankar
2020-02-25  5:35                 ` --orphan-handling=warn (was Re: [PATCH 2/2] x86/boot/compressed: Remove unnecessary sections) " Kees Cook
2020-02-25 16:42                   ` --orphan-handling=warn Arvind Sankar
2020-02-25 18:29                   ` --orphan-handling=warn Arvind Sankar
2020-02-25 19:42                     ` --orphan-handling=warn Kees Cook
2020-02-25 20:37                       ` --orphan-handling=warn Nick Desaulniers
2020-02-25 22:02                         ` --orphan-handling=warn Kees Cook
2020-02-26  1:56                           ` --orphan-handling=warn Fangrui Song
2020-02-26  5:35                             ` --orphan-handling=warn Kees Cook
2020-02-26 19:11                               ` --orphan-handling=warn Kristen Carlson Accardi
2020-02-26 19:26                                 ` --orphan-handling=warn Nick Desaulniers
2020-02-24 11:37   ` [tip: x86/boot] x86/boot/compressed: Remove .eh_frame section from bzImage tip-bot2 for Arvind Sankar
2020-02-24 16:41     ` Arvind Sankar
2020-02-24 17:16       ` Borislav Petkov
2020-02-24 17:28         ` Arvind Sankar
2020-02-05 16:29 ` [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable " Arvind Sankar
2020-02-18 18:03   ` Arvind Sankar
2020-02-19 12:09     ` Borislav Petkov
2020-02-19 17:57       ` Arvind Sankar
2020-02-19 18:22         ` Borislav Petkov
2020-02-19 19:06           ` Arvind Sankar
2020-02-06 11:18 ` Kees Cook
2020-02-19 16:55 ` [tip: x86/boot] " tip-bot2 for Arvind Sankar
2020-04-05 15:42 ` [PATCH 1/2] " Sergey Shatunov
2020-04-05 23:18   ` Arvind Sankar
2020-04-06  0:00     ` Sergey Shatunov
2020-04-06  3:51       ` Arvind Sankar
2020-04-06  7:32         ` Ard Biesheuvel
2020-04-06  8:47           ` Borislav Petkov
2020-04-06  9:11             ` Ard Biesheuvel
2020-04-06 11:20               ` Borislav Petkov
2020-04-06 13:22                 ` Arvind Sankar
2020-04-06 13:29                   ` Ard Biesheuvel
2020-04-06 16:01                     ` Arvind Sankar
2020-04-06 16:22                       ` Ard Biesheuvel
2020-04-06 16:52                         ` Arvind Sankar
2020-04-06 16:59                           ` Ard Biesheuvel
2020-04-06 18:06                             ` [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data Arvind Sankar
2020-04-06 18:06                               ` [PATCH 2/2] efi/x86: Always relocate the kernel for EFI handover entry Arvind Sankar
2020-04-14  8:20                                 ` [tip: efi/urgent] " tip-bot2 for Arvind Sankar
2020-04-06 18:29                               ` [PATCH 1/2] efi/x86: Move efi stub globals from .bss to .data Ard Biesheuvel
2020-04-08  7:43                               ` Dave Young
2020-04-08  7:49                                 ` Ard Biesheuvel
2020-04-09 14:39                                   ` Arvind Sankar
2020-04-09 14:47                                     ` Ard Biesheuvel
2020-04-09 16:35                                       ` Arvind Sankar
2020-04-10 14:47                                         ` Arvind Sankar
2020-04-10 15:26                                           ` Ard Biesheuvel
2020-04-14 14:57                                             ` Daniel Kiper
2020-04-10 11:26                               ` Thomas Meyer
2020-04-10 14:38                                 ` Arvind Sankar
2020-04-11  8:50                                   ` Thomas Meyer
2020-04-14  8:20                               ` [tip: efi/urgent] " tip-bot2 for Arvind Sankar
2020-04-06 17:21                     ` [PATCH 1/2] x86/boot/compressed/64: Remove .bss/.pgtable from bzImage Borislav Petkov
2020-04-06  8:44     ` Ard Biesheuvel
2020-04-06 12:36       ` Sergey Shatunov
2020-04-06 13:20         ` Ard Biesheuvel

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=20200109150218.16544-1-nivedita@alum.mit.edu \
    --to=nivedita@alum.mit.edu \
    --cc=bp@alien8.de \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).