linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Poimboeuf <jpoimboe@redhat.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: x86@kernel.org, linux-kernel@vger.kernel.org,
	Ivan Babrou <ivan@cloudflare.com>,
	Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH 2/2] x86/unwind/orc: Silence warnings caused by missing ORC data
Date: Wed, 24 Feb 2021 12:12:33 -0600	[thread overview]
Message-ID: <20210224181233.f5q2scq43e2j372j@treble> (raw)
In-Reply-To: <YDaV47Cw8AEzsnkg@hirez.programming.kicks-ass.net>

On Wed, Feb 24, 2021 at 07:07:31PM +0100, Peter Zijlstra wrote:
> On Wed, Feb 24, 2021 at 09:18:05AM -0600, Josh Poimboeuf wrote:
> > On Wed, Feb 24, 2021 at 03:52:01PM +0100, Peter Zijlstra wrote:
> > > On Fri, Feb 05, 2021 at 08:24:03AM -0600, Josh Poimboeuf wrote:
> > > > The ORC unwinder attempts to fall back to frame pointers when ORC data
> > > > is missing for a given instruction.  It sets state->error, but then
> > > > tries to keep going as a best-effort type of thing.  That may result in
> > > > further warnings if the unwinder gets lost.
> > > > 
> > > > Until we have some way to register generated code with the unwinder,
> > > > missing ORC will be expected, and occasionally going off the rails will
> > > > also be expected.  So don't warn about it.
> > > 
> > > I recently ran into another variant of missing ORC data, some files are
> > > simply not processed by objtool, eg. arch/x86/realmode/init.c. Would it
> > > make sense to have the vmlinux pass (when it isn't used to generate orc
> > > in the first place) also check that all code it finds has ORC data?
> > > 
> > > It's not fool proof, but it should help find files we're missing for
> > > some raisin.
> > 
> > Doesn't validate_reachable_instructions() basically already do that?
> 
> Nope, I'm talking about the case where we generate ORC for each .o file
> (and 'forget' to run objtool on some of them). And then run objtool
> again on vmlinux to validate (things like noinstr).
> 
> At that point it might make sense to also check that all code does
> indeed have an ORC to double check our initial (per translation unit)
> invocation didn't accidentally miss someone.

What I meant was, validate_reachable_instructions() should already be
able to report that situation, if it were called on vmlinux.  Right now
I think noinstr avoids calling it.

I'm already working on some vmlinux rework which will enable that
checking.  Then we'll have to go through the unreachable warnings and
try to fix them.

-- 
Josh


  reply	other threads:[~2021-02-24 18:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-05 14:24 [PATCH 0/2] x86/unwind/orc: Handle missing ORC data better Josh Poimboeuf
2021-02-05 14:24 ` [PATCH 1/2] x86/unwind/orc: Disable KASAN checking in the ORC unwinder, part 2 Josh Poimboeuf
2021-02-05 14:51   ` Steven Rostedt
2021-02-05 18:27   ` Ivan Babrou
2021-03-04  8:51   ` [tip: x86/urgent] " tip-bot2 for Josh Poimboeuf
2021-03-06 10:44   ` tip-bot2 for Josh Poimboeuf
2021-03-06 12:18   ` tip-bot2 for Josh Poimboeuf
2021-02-05 14:24 ` [PATCH 2/2] x86/unwind/orc: Silence warnings caused by missing ORC data Josh Poimboeuf
2021-02-08 19:56   ` Josh Poimboeuf
2021-02-08 20:00     ` Ivan Babrou
2021-02-24 14:52   ` Peter Zijlstra
2021-02-24 15:18     ` Josh Poimboeuf
2021-02-24 18:07       ` Peter Zijlstra
2021-02-24 18:12         ` Josh Poimboeuf [this message]
2021-03-04  8:51   ` [tip: x86/urgent] " tip-bot2 for Josh Poimboeuf
2021-03-06 10:44   ` tip-bot2 for Josh Poimboeuf
2021-03-06 12:18   ` tip-bot2 for Josh Poimboeuf
2021-02-24 12:02 ` [PATCH 0/2] x86/unwind/orc: Handle missing ORC data better Miroslav Benes

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=20210224181233.f5q2scq43e2j372j@treble \
    --to=jpoimboe@redhat.com \
    --cc=ivan@cloudflare.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --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;
as well as URLs for NNTP newsgroup(s).