From: Peter Zijlstra <peterz@infradead.org>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Nathan Chancellor <natechancellor@gmail.com>,
clang-built-linux <clang-built-linux@googlegroups.com>,
x86@kernel.org, Arnd Bergmann <arnd@arndb.de>,
Sedat Dilek <sedat.dilek@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: x86 - clang / objtool status
Date: Wed, 24 Jul 2019 15:35:16 +0200 [thread overview]
Message-ID: <20190724133516.GB31381@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20190724125525.kgybu3nnpvwlcz2c@treble>
On Wed, Jul 24, 2019 at 07:55:25AM -0500, Josh Poimboeuf wrote:
> On Wed, Jul 24, 2019 at 09:47:32AM +0200, Peter Zijlstra wrote:
> > On Tue, Jul 23, 2019 at 09:43:24PM -0500, Josh Poimboeuf wrote:
> > > On Thu, Jul 18, 2019 at 10:40:09PM +0200, Thomas Gleixner wrote:
> > >
> > > > drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: .altinstr_replacement+0x86: redundant UACCESS disable
> > >
> > > Looking at this one, I think I agree with objtool.
> > >
> > > PeterZ, Linus, I know y'all discussed this code a few months ago.
> > >
> > > __copy_from_user() already does a CLAC in its error path. So isn't the
> > > user_access_end() redundant for the __copy_from_user() error path?
> >
> > Hmm, is this a result of your c705cecc8431 ("objtool: Track original function across branches") ?
> >
> > I'm thinking it might've 'overlooked' the CLAC in the error path before
> > (because it didn't have a related function) and now it sees it and
> > worries about it.
> >
> > Then again, I'm not seeing this warning on my GCC builds; so what's
> > happening?
>
> According to the github issue[1] my patch doesn't fix the warning with
> Clang. So questions remain:
I was thinking your patch resulted in the warning due to the exception
code gaining a ->func. But then that doesn't make sense either, because
all that lives in copy_user_64.S which is a completely different
translation unit.
> a) what is objtool actually warning about?
CLAC with AC already clear. Either we do double CLAC at the end, or we
do CLAC without having done STAC first.
The issue isn't BAD(tm), as AC clear is the safe state, but it typically
indicates confused code flow.
> b) why doesn't objtool detect the case I found?
With GCC you mean? Yes, that is really really weird.
Let me go stare at objdump output for this file (which doesn't build
with:
make O=defconfig-build/ drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
)
next prev parent reply other threads:[~2019-07-24 13:35 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-18 20:40 Thomas Gleixner
2019-07-18 20:58 ` Nathan Chancellor
2019-07-19 6:39 ` Thomas Gleixner
2019-07-19 7:00 ` Arnd Bergmann
2019-07-19 7:03 ` Nathan Chancellor
2019-07-24 16:57 ` Nick Desaulniers
2019-07-18 22:42 ` Nick Desaulniers
2019-07-19 6:44 ` Thomas Gleixner
2019-07-19 11:37 ` Sedat Dilek
2019-07-19 13:48 ` Sedat Dilek
2019-07-22 15:40 ` Sedat Dilek
2019-07-25 6:17 ` Sedat Dilek
2019-07-24 2:43 ` Josh Poimboeuf
2019-07-24 7:47 ` Peter Zijlstra
2019-07-24 12:37 ` Josh Poimboeuf
2019-07-24 12:55 ` Josh Poimboeuf
2019-07-24 13:35 ` Peter Zijlstra [this message]
2019-07-24 14:05 ` Josh Poimboeuf
2019-07-24 14:10 ` Peter Zijlstra
2019-07-24 16:48 ` [PATCH] objtool: Improve UACCESS coverage Peter Zijlstra
2019-07-24 16:54 ` Nathan Chancellor
2019-07-24 16:55 ` Nick Desaulniers
2019-07-24 18:30 ` Sedat Dilek
2019-07-24 18:32 ` Sedat Dilek
2019-07-24 16:52 ` x86 - clang / objtool status Peter Zijlstra
2019-07-24 17:22 ` Nick Desaulniers
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=20190724133516.GB31381@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=arnd@arndb.de \
--cc=clang-built-linux@googlegroups.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=natechancellor@gmail.com \
--cc=ndesaulniers@google.com \
--cc=sedat.dilek@gmail.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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
all inboxes | Powered by JetHome®