According to Peter Zijlstra's suggestion in https://lkml.org/lkml/2018/9/18/1016, hard bind retpoline with compiler support and remove minimal stuff.
Tested with both CONFIG_RETPOLIN_SUPPORT enabled and disabled. Zhenzhong Duan (3): retpolines: Only enable retpoline when compiler support it retpolines: Remove the minimal stuff of retpoline support kprobes/x86: Simplify indirect-jump check in retpoline case Documentation/admin-guide/kernel-parameters.txt | 2 +- arch/x86/Kconfig | 8 ++++---- arch/x86/Makefile | 5 +++-- arch/x86/entry/vdso/Makefile | 4 ++-- arch/x86/include/asm/nospec-branch.h | 12 ++++++------ arch/x86/kernel/cpu/bugs.c | 13 ++----------- arch/x86/kernel/kprobes/opt.c | 14 ++++++-------- arch/x86/kernel/vmlinux.lds.S | 2 +- arch/x86/lib/Makefile | 2 +- arch/x86/lib/retpoline.S | 2 ++ scripts/Makefile.build | 2 +- 11 files changed, 29 insertions(+), 37 deletions(-) -- 1.8.3.1

