[GIT PULL] objtool changes for v5.10

From: Ingo Molnar
Date: Tue Oct 13 2020 - 04:26:30 EST


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-10-13

# HEAD: 2486baae2cf6df73554144d0a4e40ae8809b54d4 objtool: Allow nested externs to enable BUILD_BUG()

objtool changes for v5.10:

- Most of the changes are cleanups and reorganization to make the objtool code
more arch-agnostic. This is in preparation for non-x86 support.

Fixes:

- KASAN fixes.
- Handle unreachable trap after call to noreturn functions better.
- Ignore unreachable fake jumps.
- Misc smaller fixes & cleanups.

Thanks,

Ingo

------------------>
Ilie Halip (1):
objtool: Ignore unreachable trap after call to noreturn functions

Jann Horn (1):
objtool: Permit __kasan_check_{read,write} under UACCESS

Julien Thierry (16):
objtool: Move object file loading out of check()
objtool: Move ORC logic out of check()
objtool: Skip ORC entry creation for non-text sections
objtool: Define 'struct orc_entry' only when needed
objtool: Group headers to check in a single list
objtool: Make sync-check consider the target architecture
objtool: Move macros describing structures to arch-dependent code
objtool: Abstract alternative special case handling
objtool: Make relocation in alternative handling arch dependent
objtool: Rename frame.h -> objtool.h
objtool: Only include valid definitions depending on source file type
objtool: Make unwind hint definitions available to other architectures
objtool: Decode unwind hint register depending on architecture
objtool: Remove useless tests before save_reg()
objtool: Ignore unreachable fake jumps
objtool: Handle calling non-function symbols in other sections

Raphael Gault (1):
objtool: Refactor jump table code to support other architectures

Vasily Gorbik (1):
objtool: Allow nested externs to enable BUILD_BUG()


MAINTAINERS | 1 +
arch/x86/include/asm/nospec-branch.h | 2 +-
arch/x86/include/asm/orc_types.h | 34 ----
arch/x86/include/asm/unwind_hints.h | 56 ++-----
arch/x86/kernel/kprobes/core.c | 2 +-
arch/x86/kernel/kprobes/opt.c | 2 +-
arch/x86/kernel/reboot.c | 2 +-
arch/x86/kernel/unwind_orc.c | 11 +-
arch/x86/kvm/svm/svm.c | 2 +-
arch/x86/kvm/vmx/nested.c | 2 +-
arch/x86/kvm/vmx/vmx.c | 2 +-
arch/x86/xen/enlighten_pv.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_msg.c | 3 +-
include/linux/frame.h | 35 ----
include/linux/objtool.h | 129 +++++++++++++++
kernel/bpf/core.c | 2 +-
kernel/kexec_core.c | 2 +-
tools/arch/x86/include/asm/orc_types.h | 34 ----
tools/include/linux/objtool.h | 129 +++++++++++++++
tools/objtool/Makefile | 6 +-
tools/objtool/arch.h | 4 +
tools/objtool/arch/x86/Build | 1 +
tools/objtool/arch/x86/decode.c | 37 +++++
tools/objtool/arch/x86/include/arch_special.h | 20 +++
tools/objtool/arch/x86/special.c | 145 ++++++++++++++++
tools/objtool/builtin-check.c | 15 +-
tools/objtool/builtin-orc.c | 27 ++-
tools/objtool/check.c | 230 ++++++--------------------
tools/objtool/check.h | 9 +-
tools/objtool/objtool.c | 30 ++++
tools/objtool/objtool.h | 6 +-
tools/objtool/orc_dump.c | 9 +-
tools/objtool/orc_gen.c | 8 +-
tools/objtool/special.c | 48 +-----
tools/objtool/special.h | 10 ++
tools/objtool/sync-check.sh | 32 +++-
tools/objtool/weak.c | 6 +-
37 files changed, 685 insertions(+), 410 deletions(-)
delete mode 100644 include/linux/frame.h
create mode 100644 include/linux/objtool.h
create mode 100644 tools/include/linux/objtool.h
create mode 100644 tools/objtool/arch/x86/include/arch_special.h
create mode 100644 tools/objtool/arch/x86/special.c