From: Peter Zijlstra <peterz@infradead.org>
To: Alexandre Chartre <alexandre.chartre@oracle.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
x86@kernel.org, linux-kernel@vger.kernel.org,
jthierry@redhat.com, tglx@linutronix.de
Subject: Re: [PATCH V2 9/9] x86/speculation: Remove all ANNOTATE_NOSPEC_ALTERNATIVE directives
Date: Tue, 7 Apr 2020 18:41:43 +0200 [thread overview]
Message-ID: <20200407164143.GG20730@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <3eb36fd2-9827-4c1b-681c-9c1d65c7582f@oracle.com>
On Tue, Apr 07, 2020 at 06:18:51PM +0200, Alexandre Chartre wrote:
>
> On 4/7/20 4:32 PM, Alexandre Chartre wrote:
> >
> > On 4/7/20 3:34 PM, Josh Poimboeuf wrote:
> > > On Tue, Apr 07, 2020 at 03:28:37PM +0200, Peter Zijlstra wrote:
> > > > Josh, we should probably have objtool verify it doesn't emit ORC entries
> > > > in alternative ranges.
> > >
> > > Agreed, it might be as simple as checking for insn->alt_group in the
> > > INSN_STACK check or in update_insn_state().
> > >
> >
> > We could do that only for the "objtool orc generate" command. That way
> > "objtool check" would still check the alternative, but "objtool orc generate"
> > will just use the first half of the alternative (like it does today with
> > ANNOTATE_NOSPEC_ALTERNATIVE). We can even keep all ANNOTATE_NOSPEC_ALTERNATIVE
> > but only use them for "objtool orc generate".
> >
>
> I have checked and objtool doesn't emit ORC entries for alternative:
> decode_instructions() doesn't mark such section with sec->text = true
> so create_orc_sections() doesn't emit corresponding ORC entries.
>
> So I think we can remove the ANNOTATE_NOSPEC_ALTERNATIVE directives,
> this will allow objtool to check the instructions but it still won't
> emit ORC entries (same behavior as today). In the future, if ORC
> eventually supports alternative we will be ready to have objtool emit
> ORC entries.
I mean, we should make it warn for the case where you remove
ANNOTATE_NOSPEC and it would like to generate ORC.
Also, what's the point of having objtool grok this code and then not
doing anything with it?
next prev parent reply other threads:[~2020-04-07 16:41 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-07 7:31 [PATCH V2 0/9] objtool changes to remove all ANNOTATE_NOSPEC_ALTERNATIVE Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 1/9] objtool: Introduce HINT_RET_OFFSET Alexandre Chartre
2020-04-07 12:53 ` Peter Zijlstra
2020-04-07 13:17 ` Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 2/9] objtool: UNWIND_HINT_RET_OFFSET should not check registers Alexandre Chartre
2020-05-01 18:22 ` [tip: objtool/core] " tip-bot2 for Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 3/9] objtool: is_fentry_call() crashes if call has no destination Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 4/9] objtool: Allow branches within the same alternative Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 5/9] objtool: Add support for intra-function calls Alexandre Chartre
2020-04-07 13:07 ` Peter Zijlstra
2020-04-07 13:28 ` Alexandre Chartre
2020-04-08 14:06 ` Alexandre Chartre
2020-04-08 14:19 ` Julien Thierry
2020-04-08 16:03 ` Alexandre Chartre
2020-04-08 16:04 ` Julien Thierry
2020-04-08 17:06 ` Alexandre Chartre
2020-04-08 17:07 ` Julien Thierry
2020-04-07 7:31 ` [PATCH V2 6/9] x86/speculation: Change __FILL_RETURN_BUFFER to work with objtool Alexandre Chartre
2020-04-07 13:27 ` Josh Poimboeuf
2020-04-07 7:31 ` [PATCH V2 7/9] x86/speculation: Annotate intra-function calls Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 8/9] x86/speculation: Add unwind hint to trampoline return Alexandre Chartre
2020-04-07 7:31 ` [PATCH V2 9/9] x86/speculation: Remove all ANNOTATE_NOSPEC_ALTERNATIVE directives Alexandre Chartre
2020-04-07 13:28 ` Peter Zijlstra
2020-04-07 13:34 ` Josh Poimboeuf
2020-04-07 14:32 ` Alexandre Chartre
2020-04-07 16:18 ` Alexandre Chartre
2020-04-07 16:28 ` Josh Poimboeuf
2020-04-07 17:01 ` Alexandre Chartre
2020-04-07 17:26 ` Peter Zijlstra
2020-04-07 17:27 ` Peter Zijlstra
2020-04-08 21:35 ` Peter Zijlstra
2020-04-09 8:18 ` Alexandre Chartre
2020-04-09 10:34 ` Peter Zijlstra
2020-04-09 10:40 ` Peter Zijlstra
2020-04-07 16:41 ` Peter Zijlstra [this message]
2020-04-07 17:04 ` Alexandre Chartre
2020-04-07 13:52 ` Peter Zijlstra
2020-04-07 13:59 ` Peter Zijlstra
2020-04-07 13:35 ` [PATCH V2 0/9] objtool changes to remove all ANNOTATE_NOSPEC_ALTERNATIVE Josh Poimboeuf
2020-04-07 14:02 ` Alexandre Chartre
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200407164143.GG20730@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=alexandre.chartre@oracle.com \
--cc=jpoimboe@redhat.com \
--cc=jthierry@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox