linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] core/build changes for v5.10: Add orphan section checking for x86, ARM and ARM64
@ 2020-10-12 15:34 Ingo Molnar
  2020-10-12 21:25 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Ingo Molnar @ 2020-10-12 15:34 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Thomas Gleixner, Borislav Petkov, Peter Zijlstra,
	Catalin Marinas, Will Deacon, Russell King, Kees Cook

Linus,

Please pull the latest core/build git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-build-2020-10-12

   # HEAD: 6e0bf0e0e55000742a53c5f3b58f8669e0091a11 x86/boot/compressed: Warn on orphan section placement

Orphan link sections were a long-standing source of obscure bugs,
because the heuristics that various linkers & compilers use to handle them
(include these bits into the output image vs discarding them silently)
are both highly idiosyncratic and also version dependent.

Instead of this historically problematic mess, this tree by Kees Cook (et al)
adds build time asserts and build time warnings if there's any orphan section
in the kernel or if a section is not sized as expected.

And because we relied on so many silent assumptions in this area, fix a metric
ton of dependencies and some outright bugs related to this, before we can
finally enable the checks on the x86, ARM and ARM64 platforms.

 Thanks,

	Ingo

------------------>
Ard Biesheuvel (3):
      x86/boot/compressed: Move .got.plt entries out of the .got section
      x86/boot/compressed: Force hidden visibility for all symbol references
      x86/boot/compressed: Get rid of GOT fixup code

Arvind Sankar (4):
      x86/boot: Add .text.* to setup.ld
      x86/boot: Remove run-time relocations from .head.text code
      x86/boot: Remove run-time relocations from head_{32,64}.S
      x86/boot: Check that there are no run-time relocations

Kees Cook (28):
      vmlinux.lds.h: Create COMMON_DISCARDS
      vmlinux.lds.h: Add .gnu.version* to COMMON_DISCARDS
      vmlinux.lds.h: Avoid KASAN and KCSAN's unwanted sections
      vmlinux.lds.h: Split ELF_DETAILS from STABS_DEBUG
      vmlinux.lds.h: Add .symtab, .strtab, and .shstrtab to ELF_DETAILS
      efi/libstub: Disable -mbranch-protection
      arm64/mm: Remove needless section quotes
      arm64/kernel: Remove needless Call Frame Information annotations
      arm64/build: Remove .eh_frame* sections due to unwind tables
      arm64/build: Use common DISCARDS in linker script
      arm64/build: Add missing DWARF sections
      arm64/build: Assert for unwanted sections
      arm/build: Refactor linker script headers
      arm/build: Explicitly keep .ARM.attributes sections
      arm/build: Add missing sections
      arm/build: Assert for unwanted sections
      arm/boot: Handle all sections explicitly
      x86/asm: Avoid generating unused kprobe sections
      x86/build: Enforce an empty .got.plt section
      x86/build: Add asserts for unwanted sections
      x86/boot/compressed: Reorganize zero-size section asserts
      x86/boot/compressed: Remove, discard, or assert for unwanted sections
      x86/boot/compressed: Add missing debugging sections to output
      arm64/build: Warn on orphan section placement
      arm/build: Warn on orphan section placement
      arm/boot: Warn on orphan section placement
      x86/build: Warn on orphan section placement
      x86/boot/compressed: Warn on orphan section placement

Nick Desaulniers (1):
      vmlinux.lds.h: Add PGO and AutoFDO input sections


 arch/alpha/kernel/vmlinux.lds.S                |   1 +
 arch/arc/kernel/vmlinux.lds.S                  |   1 +
 arch/arm/Makefile                              |   4 +
 arch/arm/boot/compressed/Makefile              |   2 +
 arch/arm/boot/compressed/vmlinux.lds.S         |  20 +--
 arch/arm/{kernel => include/asm}/vmlinux.lds.h |  30 ++++-
 arch/arm/kernel/vmlinux-xip.lds.S              |   8 +-
 arch/arm/kernel/vmlinux.lds.S                  |   8 +-
 arch/arm64/Makefile                            |   9 +-
 arch/arm64/kernel/smccc-call.S                 |   2 -
 arch/arm64/kernel/vmlinux.lds.S                |  28 ++++-
 arch/arm64/mm/mmu.c                            |   2 +-
 arch/csky/kernel/vmlinux.lds.S                 |   1 +
 arch/hexagon/kernel/vmlinux.lds.S              |   1 +
 arch/ia64/kernel/vmlinux.lds.S                 |   1 +
 arch/mips/kernel/vmlinux.lds.S                 |   1 +
 arch/nds32/kernel/vmlinux.lds.S                |   1 +
 arch/nios2/kernel/vmlinux.lds.S                |   1 +
 arch/openrisc/kernel/vmlinux.lds.S             |   1 +
 arch/parisc/boot/compressed/vmlinux.lds.S      |   1 +
 arch/parisc/kernel/vmlinux.lds.S               |   1 +
 arch/powerpc/kernel/vmlinux.lds.S              |   2 +-
 arch/riscv/kernel/vmlinux.lds.S                |   1 +
 arch/s390/kernel/vmlinux.lds.S                 |   1 +
 arch/sh/kernel/vmlinux.lds.S                   |   1 +
 arch/sparc/kernel/vmlinux.lds.S                |   1 +
 arch/um/kernel/dyn.lds.S                       |   2 +-
 arch/um/kernel/uml.lds.S                       |   2 +-
 arch/x86/Makefile                              |   4 +
 arch/x86/boot/compressed/Makefile              |  41 ++----
 arch/x86/boot/compressed/head_32.S             |  99 +++++----------
 arch/x86/boot/compressed/head_64.S             | 165 ++++++++++---------------
 arch/x86/boot/compressed/mkpiggy.c             |   6 +
 arch/x86/boot/compressed/vmlinux.lds.S         |  50 +++++++-
 arch/x86/boot/setup.ld                         |   2 +-
 arch/x86/include/asm/asm.h                     |   6 +-
 arch/x86/kernel/vmlinux.lds.S                  |  39 +++++-
 drivers/firmware/efi/libstub/Makefile          |  11 +-
 drivers/firmware/efi/libstub/hidden.h          |   6 -
 include/asm-generic/vmlinux.lds.h              |  49 ++++++--
 include/linux/hidden.h                         |  19 +++
 41 files changed, 378 insertions(+), 253 deletions(-)
 rename arch/arm/{kernel => include/asm}/vmlinux.lds.h (84%)
 delete mode 100644 drivers/firmware/efi/libstub/hidden.h
 create mode 100644 include/linux/hidden.h

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] core/build changes for v5.10: Add orphan section checking for x86, ARM and ARM64
  2020-10-12 15:34 [GIT PULL] core/build changes for v5.10: Add orphan section checking for x86, ARM and ARM64 Ingo Molnar
@ 2020-10-12 21:25 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2020-10-12 21:25 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Linus Torvalds, linux-kernel, Thomas Gleixner, Borislav Petkov,
	Peter Zijlstra, Catalin Marinas, Will Deacon, Russell King,
	Kees Cook

The pull request you sent on Mon, 12 Oct 2020 17:34:30 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-build-2020-10-12

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/34eb62d868d729e9a252aa497277081fb652eeed

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-10-12 21:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12 15:34 [GIT PULL] core/build changes for v5.10: Add orphan section checking for x86, ARM and ARM64 Ingo Molnar
2020-10-12 21:25 ` pr-tracker-bot

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).