Re: [PATCH 3/3] kprobes/x86: Simplify indirect-jump check in retpoline

From: Zhenzhong Duan
Date: Thu Nov 01 2018 - 05:21:35 EST


On 2018/11/1 16:56, Peter Zijlstra wrote:
On Thu, Nov 01, 2018 at 10:02:14AM +0800, Zhenzhong Duan wrote:
Hmm, what about the case where we have RETPOLINE runtime disabled? Then
the CALL_NOSPEC alternative patches in an indirect call again, and the
retpolines are gone.

Is RETPOLINE runtime toggle supported in upstream? I don't see such code.

arch/x86/kernel/cpu/bugs.c look for the "nospectre_v2" and related
options. That will avoid X86_FEATURE_RETPOLINE from being set, and thus
the JMP_NOSPEC and CALL_NOSPEC alternatives will not patch out the
indirect jump / call.

Yes, in this case there are also indirect branches. I'll drop 3rd patch in v2.

Thanks
Zhenzhong