From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Borislav Petkov <bp@alien8.de>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] objtool changes for v5.8
Date: Mon, 1 Jun 2020 17:31:14 +0200 [thread overview]
Message-ID: <20200601153114.GA994053@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-2020-06-01
# HEAD: 0decf1f8de919782b152daf9c991967a2bac54f0 objtool: Enable compilation of objtool for all architectures
There are a lot of objtool changes in this cycle, all across the map:
- Speed up objtool significantly, especially when there are large number of sections
- Improve objtool's understanding of special instructions such as IRET,
to reduce the number of annotations required
- Implement 'noinstr' validation
- Do baby steps for non-x86 objtool use
- Simplify/fix retpoline decoding
- Add vmlinux validation
- Improve documentation
- Fix various bugs and apply smaller cleanups
Thanks,
Ingo
------------------>
Alexandre Chartre (4):
objtool: Uniquely identify alternative instruction groups
objtool: is_fentry_call() crashes if call has no destination
objtool: UNWIND_HINT_RET_OFFSET should not check registers
objtool: Add support for intra-function calls
Ingo Molnar (3):
objtool: Constify 'struct elf *' parameters
objtool: Rename elf_read() to elf_open_read()
objtool: Constify arch_decode_instruction()
Josh Poimboeuf (2):
samples/ftrace: Fix asm function ELF annotations
objtool: Add check_kcov_mode() to the uaccess safelist
Julien Thierry (9):
objtool: Fix off-by-one in symbol_by_offset()
objtool: Always do header sync check
objtool: Remove redundant checks on operand type
objtool: Clean instruction state before each function validation
objtool: Ignore empty alternatives
objtool: Use arch specific values in restore_reg()
objtool: Split out arch-specific CFI definitions
objtool: Support multiple stack_op per instruction
objtool: Remove check preventing branches within alternative
Matt Helsley (3):
objtool: Exit successfully when requesting help
objtool: Move struct objtool_file into arch-independent header
objtool: Enable compilation of objtool for all architectures
Miroslav Benes (1):
objtool: Move the IRET hack into the arch decoder
Muchun Song (1):
objtool: Remove redundant .rodata section name comparison
Nick Desaulniers (1):
objtool: Documentation: document UACCESS warnings
Peter Zijlstra (26):
objtool: Fix 32bit cross builds
objtool: Better handle IRET
objtool: Introduce HINT_RET_OFFSET
x86,ftrace: Fix ftrace_regs_caller() unwind
x86,ftrace: Use SIZEOF_PTREGS
x86,ftrace: Shrink ftrace_regs_caller() by one byte
objtool: Remove SAVE/RESTORE hints
objtool: Rename struct cfi_state
objtool: Fix !CFI insn_state propagation
objtool: Implement noinstr validation
objtool: Optimize !vmlinux.o again
objtool: Use sec_offset_hash() for insn_hash
kbuild/objtool: Add objtool-vmlinux.o pass
objtool: Avoid iterating !text section symbols
objtool: Rearrange validate_section()
objtool: Add STT_NOTYPE noinstr validation
objtool: Fix ORC vs alternatives
x86,smap: Fix smap_{save,restore}() alternatives
objtool: Rework allocating stack_ops on decode
objtool: Make handle_insn_ops() unconditional
objtool: Remove INSN_STACK
x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
x86: Simplify retpoline declaration
x86: Change {JMP,CALL}_NOSPEC argument
x86/retpoline: Fix retpoline unwind
objtool: Allow no-op CFI ops in alternatives
Raphael Gault (1):
objtool: Add abstraction for destination offsets
Sami Tolvanen (2):
objtool: use gelf_getsymshndx to handle >64k sections
objtool: optimize add_dead_ends for split sections
Thomas Gleixner (1):
objtool: Also consider .entry.text as noinstr
arch/x86/crypto/aesni-intel_asm.S | 4 +-
arch/x86/crypto/camellia-aesni-avx-asm_64.S | 2 +-
arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 2 +-
arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 26 +-
arch/x86/entry/entry_32.S | 6 +-
arch/x86/entry/entry_64.S | 2 +-
arch/x86/include/asm/GEN-for-each-reg.h | 25 +
arch/x86/include/asm/asm-prototypes.h | 35 +-
arch/x86/include/asm/nospec-branch.h | 76 +--
arch/x86/include/asm/orc_types.h | 3 +-
arch/x86/include/asm/processor.h | 2 -
arch/x86/include/asm/smap.h | 11 +-
arch/x86/include/asm/unwind_hints.h | 31 +-
arch/x86/kernel/ftrace.c | 14 +-
arch/x86/kernel/ftrace_32.S | 2 +-
arch/x86/kernel/ftrace_64.S | 44 +-
arch/x86/lib/checksum_32.S | 4 +-
arch/x86/lib/retpoline.S | 63 +-
arch/x86/platform/efi/efi_stub_64.S | 2 +-
include/linux/frame.h | 11 +
lib/Kconfig.debug | 5 +
samples/ftrace/ftrace-direct-modify.c | 4 +
samples/ftrace/ftrace-direct-too.c | 2 +
samples/ftrace/ftrace-direct.c | 2 +
scripts/link-vmlinux.sh | 24 +
tools/arch/x86/include/asm/orc_types.h | 3 +-
tools/objtool/Build | 13 +-
tools/objtool/Documentation/stack-validation.txt | 41 ++
tools/objtool/Makefile | 15 +-
tools/objtool/arch.h | 19 +-
tools/objtool/arch/x86/decode.c | 302 +++++----
tools/objtool/arch/x86/include/cfi_regs.h | 25 +
tools/objtool/builtin-check.c | 13 +-
tools/objtool/builtin-orc.c | 3 +-
tools/objtool/builtin.h | 2 +-
tools/objtool/cfi.h | 35 +-
tools/objtool/check.c | 801 +++++++++++++++--------
tools/objtool/check.h | 35 +-
tools/objtool/elf.c | 102 ++-
tools/objtool/elf.h | 37 +-
tools/objtool/objtool.c | 4 +-
tools/objtool/objtool.h | 27 +
tools/objtool/orc.h | 18 -
tools/objtool/orc_dump.c | 3 +-
tools/objtool/orc_gen.c | 12 +-
tools/objtool/weak.c | 40 ++
46 files changed, 1228 insertions(+), 724 deletions(-)
create mode 100644 arch/x86/include/asm/GEN-for-each-reg.h
create mode 100644 tools/objtool/arch/x86/include/cfi_regs.h
create mode 100644 tools/objtool/objtool.h
delete mode 100644 tools/objtool/orc.h
create mode 100644 tools/objtool/weak.c
next reply other threads:[~2020-06-01 15:31 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-01 15:31 Ingo Molnar [this message]
2020-06-01 21:55 ` [GIT PULL] objtool changes for v5.8 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=20200601153114.GA994053@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.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.