[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180110055806.gqdxpk4urvew253b@treble>
Date: Tue, 9 Jan 2018 23:58:06 -0600
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: David Woodhouse <dwmw@...zon.co.uk>
Cc: Andi Kleen <ak@...ux.intel.com>, Paul Turner <pjt@...gle.com>,
LKML <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...ux-foundation.org>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Dave Hansen <dave.hansen@...el.com>, tglx@...utronix.de,
Kees Cook <keescook@...gle.com>,
Rik van Riel <riel@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...capital.net>,
Jiri Kosina <jikos@...nel.org>, gnomes@...rguk.ukuu.org.uk,
x86@...nel.org
Subject: Re: [PATCH v7 02/11] x86/retpoline: Temporarily disable objtool when
CONFIG_RETPOLINE=y
On Tue, Jan 09, 2018 at 02:43:08PM +0000, David Woodhouse wrote:
> From: Andi Kleen <ak@...ux.intel.com>
>
> objtool's assembler currently cannot deal with the code generated by the
> retpoline compiler and throws hundreds of warnings, mostly because it sees
> calls that don't have a symbolic target.
>
> Exclude all the options that rely on objtool when RETPOLINE is active.
>
> This mainly means that the kernel has to fallback to use the frame pointer
> unwinder and livepatch is not supported.
>
> Josh is looking into resolving the issue.
I have a fix brewing for this, in two parts:
- Part 1 will allow objtool to understand the flow *around* the
retpolines (but not *inside* them). Which basically means that ORC
will still get confused if it tries to unwind from inside a retpoline,
but otherwise it should work fine. This code is pretty much done,
just need to do some testing with it first. This should allow us to
re-enable objtool and friends: ORC, reliable stacks, livepatch
consistency model.
- Part 2 will add ORC annotations for inside the retpolines. This will
be a little harder, but I have my fingers crossed that it's do-able
within a week or so.
--
Josh
Powered by blists - more mailing lists