Re: [PATCH V2 0/9] objtool changes to remove all ANNOTATE_NOSPEC_ALTERNATIVE

From: Josh Poimboeuf
Date: Tue Apr 07 2020 - 09:35:37 EST


On Tue, Apr 07, 2020 at 09:31:33AM +0200, Alexandre Chartre wrote:
> Hi,
>
> This is version v2 of this patchset based on the different comments
> received so far. It now uses and includes PeterZ patch to add
> UNWIND_HINT_RET_OFFSET. Other changes are described below.
>
> Code like retpoline or RSB stuffing, which is used to mitigate some of
> the speculative execution issues, is currently ignored by objtool with
> the ANNOTATE_NOSPEC_ALTERNATIVE directive. This series adds support
> for intra-function calls to objtool so that it can handle such a code.
> With these changes, we can remove all ANNOTATE_NOSPEC_ALTERNATIVE
> directives.
>
> Changes:
> - replace RETPOLINE_RET with PeterZ UNWIND_HINT_RET_OFFSET
> - make objtool intra-function call action architecture dependent
> - objtool now automatically detects and validates all intra-function
> calls but it issues a warning if the call was not explicitly tagged
> - change __FILL_RETURN_BUFFER to work with objtool
> - add generic ANNOTATE_INTRA_FUNCTION_CALL macro
> - remove all ANNOTATE_SPEC_ALTERNATIVE (even for __FILL_RETURN_BUFFER)

I had trouble applying the patches. What branch are they based on? In
general the latest tip/master is good.

--
Josh