[GIT PULL v2] objtool changes for v5.10
From: Ingo Molnar
Date: Tue Oct 13 2020 - 06:38:37 EST
* Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > This seems to be missing
> >
> > https://lore.kernel.org/lkml/patch-1.thread-251403.git-2514037e9477.your-ad-here.call-01602244460-ext-7088@work.hours/
> >
> > or did that get sent in a previous pull request?
>
> No, that fix is still missing, thanks for the reminder. I overlooked it
> thinking that it's a tooling patch - but this needs to be paired with:
>
> 2486baae2cf6: ("objtool: Allow nested externs to enable BUILD_BUG()")
>
> I'll send a v2 pull request in an hour or two.
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: ab0a40ea88204e1291b56da8128e2845fec8ee88 perf build: Allow nested externs to enable BUILD_BUG() usage
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 (2):
objtool: Allow nested externs to enable BUILD_BUG()
perf build: Allow nested externs to enable BUILD_BUG() usage
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 +-
tools/perf/Makefile.config | 2 +-
38 files changed, 686 insertions(+), 411 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