On Sun, Jul 14, 2019 at 07:36:55PM -0500, Josh Poimboeuf wrote:
> There have been a lot of objtool bug reports lately, mainly related to
> Clang and BPF.  As part of fixing those bugs, I added some improvements
> to objtool which uncovered yet more bugs (some kernel, some objtool).
> 
> I've given these patches a lot of testing with both GCC and Clang.  More
> compile testing of objtool would be appreciated, as the kbuild test
> robot doesn't seem to be paying much attention to my branches lately.
> 
> There are still at least three outstanding issues:
> 
> 1) With clang I see:
> 
>      drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: 
> .altinstr_replacement+0x88: redundant UACCESS disable
> 
>    I haven't dug into it yet.
> 
> 2) There's also an issue in clang where a large switch table had a bunch
>    of unused (bad) entries.  It's not a code correctness issue, but
>    hopefully it can get fixed in clang anyway.  See patch 20/22 for more
>    details.
> 
> 3) CONFIG_LIVEPATCH is causing some objtool "unreachable instruction"
>    warnings due to the new -flive-patching flag.  I have some fixes
>    pending, but this patch set is already long enough.
> 
> 
> Jann Horn (1):
>   objtool: Support repeated uses of the same C jump table
> 
> Josh Poimboeuf (21):
>   x86/paravirt: Fix callee-saved function ELF sizes
>   x86/kvm: Fix fastop function ELF metadata
>   x86/kvm: Fix frame pointer usage in vmx_vmenter()
>   x86/kvm: Don't call kvm_spurious_fault() from .fixup
>   x86/entry: Fix thunk function ELF sizes
>   x86/head/64: Annotate start_cpu0() as non-callable
>   x86/uaccess: Remove ELF function annotation from
>     copy_user_handle_tail()
>   x86/uaccess: Don't leak AC flag into fentry from mcsafe_handle_tail()
>   x86/uaccess: Remove redundant CLACs in getuser/putuser error paths
>   bpf: Disable GCC -fgcse optimization for ___bpf_prog_run()
>   objtool: Add mcsafe_handle_tail() to the uaccess safe list
>   objtool: Track original function across branches
>   objtool: Refactor function alias logic
>   objtool: Warn on zero-length functions
>   objtool: Change dead_end_function() to return boolean
>   objtool: Do frame pointer check before dead end check
>   objtool: Refactor sibling call detection logic
>   objtool: Refactor jump table code
>   objtool: Fix seg fault on bad switch table entry
>   objtool: convert insn type to enum
>   objtool: Support conditional retpolines

Acked-by: Peter Zijlstra (Intel) <pet...@infradead.org>

Reply via email to