All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] objtool changes for v6.5
Date: Tue, 27 Jun 2023 13:20:57 +0200	[thread overview]
Message-ID: <ZJrGGfFl4MHEeftI@gmail.com> (raw)

Linus,

Please pull the latest objtool/core git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git objtool-core-2023-06-27

   # HEAD: 301cf77e21317b3465c5e2bb0188df24bbf1c2e2 x86/orc: Make the is_callthunk() definition depend on CONFIG_BPF_JIT=y

objtool changes for v6.5:

- Build footprint & performance improvements:

    - Reduce memory usage with CONFIG_DEBUG_INFO=y

      In the worst case of an allyesconfig+CONFIG_DEBUG_INFO=y kernel, DWARF
      creates almost 200 million relocations, ballooning objtool's peak heap
      usage to 53GB.  These patches reduce that to 25GB.

      On a distro-type kernel with kernel IBT enabled, they reduce objtool's
      peak heap usage from 4.2GB to 2.8GB.

      These changes also improve the runtime significantly.

- Debuggability improvements:

    - Add the unwind_debug command-line option, for more extend unwinding
      debugging output.
    - Limit unreachable warnings to once per function
    - Add verbose option for disassembling affected functions
    - Include backtrace in verbose mode
    - Detect missing __noreturn annotations
    - Ignore exc_double_fault() __noreturn warnings
    - Remove superfluous global_noreturns entries
    - Move noreturn function list to separate file
    - Add __kunit_abort() to noreturns

- Unwinder improvements:

    - Allow stack operations in UNWIND_HINT_UNDEFINED regions
    - drm/vmwgfx: Add unwind hints around RBP clobber

- Cleanups:

    - Move the x86 entry thunk restore code into thunk functions
    - x86/unwind/orc: Use swap() instead of open coding it
    - Remove unnecessary/unused variables

- Fixes for modern stack canary handling

 Thanks,

	Ingo

------------------>
Ingo Molnar (1):
      x86/orc: Make the is_callthunk() definition depend on CONFIG_BPF_JIT=y

Jiapeng Chong (1):
      x86/unwind/orc: Use swap() instead of open coding it

Josh Poimboeuf (36):
      x86/unwind/orc: Add 'unwind_debug' cmdline option
      objtool: Limit unreachable warnings to once per function
      objtool: Add verbose option for disassembling affected functions
      objtool: Include backtrace in verbose mode
      objtool: Detect missing __noreturn annotations
      objtool: Ignore exc_double_fault() __noreturn warnings
      objtool: Remove superfluous global_noreturns entries
      tools/lib/subcmd: Replace NORETURN usage with __noreturn
      objtool: Move noreturn function list to separate file
      objtool: Add __kunit_abort() to noreturns
      Revert "x86/orc: Make it callthunk aware"
      x86/entry: Move thunk restore code into thunk functions
      objtool: Allow stack operations in UNWIND_HINT_UNDEFINED regions
      drm/vmwgfx: Add unwind hints around RBP clobber
      objtool: Tidy elf.h
      objtool: Remove flags argument from elf_create_section()
      objtool: Improve reloc naming
      objtool: Consolidate rel/rela handling
      objtool: Fix reloc_hash size
      objtool: Add mark_sec_changed()
      objtool: Add elf_create_section_pair()
      objtool: Keep GElf_Rel[a] structs synced
      objtool: Don't free memory in elf_close()
      objtool: Add for_each_reloc()
      objtool: Allocate relocs in advance for new rela sections
      objtool: Get rid of reloc->list
      objtool: Get rid of reloc->idx
      objtool: Get rid of reloc->offset
      objtool: Get rid of reloc->type
      objtool: Get rid of reloc->addend
      objtool: Get rid of reloc->jump_table_start
      objtool: Shrink reloc->sym_reloc_entry
      objtool: Shrink elf hash nodes
      objtool: Get rid of reloc->rel[a]
      objtool: Free insns when done
      objtool: Skip reading DWARF section data

Lu Hongfei (1):
      tools: Remove unnecessary variables

Peter Zijlstra (1):
      lkdtm: Avoid objtool/ibt warning

ndesaulniers@google.com (2):
      start_kernel: Add __no_stack_protector function attribute
      start_kernel: Omit prevent_tail_call_optimization() for newer toolchains


 Documentation/admin-guide/kernel-parameters.txt |   6 +
 arch/powerpc/kernel/smp.c                       |   1 +
 arch/x86/entry/thunk_64.S                       |  20 +-
 arch/x86/include/asm/alternative.h              |   5 -
 arch/x86/include/asm/unwind_hints.h             |   9 +
 arch/x86/kernel/callthunks.c                    |   4 +-
 arch/x86/kernel/unwind_orc.c                    |  75 ++-
 drivers/gpu/drm/vmwgfx/vmwgfx_msg_x86.h         |  16 +-
 drivers/misc/lkdtm/bugs.c                       |   1 +
 include/linux/compiler_attributes.h             |  12 +
 init/main.c                                     |   9 +-
 tools/lib/subcmd/parse-options.h                |   8 +-
 tools/lib/subcmd/subcmd-util.h                  |   5 +-
 tools/objtool/Documentation/objtool.txt         |  10 +
 tools/objtool/arch/powerpc/include/arch/elf.h   |  11 +-
 tools/objtool/arch/x86/decode.c                 |   6 +-
 tools/objtool/arch/x86/include/arch/elf.h       |  11 +-
 tools/objtool/arch/x86/special.c                |   6 +-
 tools/objtool/builtin-check.c                   |   5 +
 tools/objtool/check.c                           | 643 ++++++++++++++----------
 tools/objtool/elf.c                             | 537 ++++++++------------
 tools/objtool/include/objtool/builtin.h         |   1 +
 tools/objtool/include/objtool/cfi.h             |   1 +
 tools/objtool/include/objtool/elf.h             | 327 ++++++++----
 tools/objtool/include/objtool/warn.h            |  21 +-
 tools/objtool/noreturns.h                       |  46 ++
 tools/objtool/orc_gen.c                         |   8 +-
 tools/objtool/special.c                         |   4 +-
 28 files changed, 1038 insertions(+), 770 deletions(-)
 create mode 100644 tools/objtool/noreturns.h

             reply	other threads:[~2023-06-27 11:21 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-27 11:20 Ingo Molnar [this message]
2023-06-27 11:46 ` [GIT PULL] objtool changes for v6.5 Ingo Molnar
2023-06-28  9:26   ` [PATCH] objtool: Remove btrfs_assertfail() from the noreturn exceptions list Ingo Molnar
2023-06-27 22:26 ` [GIT PULL] objtool changes for v6.5 pr-tracker-bot

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=ZJrGGfFl4MHEeftI@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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 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.