[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161116145840.gvh5wwycmdkluhuy@treble>
Date: Wed, 16 Nov 2016 08:58:40 -0600
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Vince Weaver <vincent.weaver@...ne.edu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
"davej@...emonkey.org.uk" <davej@...emonkey.org.uk>,
"dvyukov@...gle.com" <dvyukov@...gle.com>,
Stephane Eranian <eranian@...il.com>
Subject: Re: perf: fuzzer KASAN unwind_get_return_address
On Wed, Nov 16, 2016 at 03:49:43PM +0100, Peter Zijlstra wrote:
> On Wed, Nov 16, 2016 at 08:37:46AM -0600, Josh Poimboeuf wrote:
> > On Wed, Nov 16, 2016 at 02:03:37PM +0100, Peter Zijlstra wrote:
> > > On Tue, Nov 15, 2016 at 02:57:48PM -0600, Josh Poimboeuf wrote:
> > > > Would you mind posting a disassembly of unwind_get_return_address()?
> > > > Any idea how recreatable it is? (In particular I'd be interested in
> > > > seeing this dump with the latest unwinder improvements in the -tip tree,
> > > > which dump the pt_regs associated with an interrupt.)
> > >
> > > Fairly reproducable it seems, doesn't seem to include pt_regs dumps
> > > though :/
> > >
> > > tip/master as of this morning.
> >
> > Thanks. This is actually a different issue than the one reported by
> > Vince. In this case FRAME_POINTER is disabled, so it uses the "guess"
> > unwinder which scans every address on the stack, looking for text
> > addresses. So the kasan errors are expected.
> >
> > (The missing pt_regs are also expected: the guess unwinder doesn't show
> > them.)
> >
> > I'll work up a patch to fix this. I still have no idea what's causing
> > Vince's bug in the frame pointer unwinder.
>
> Hurm,.. by the number of '?' entries in Vince's backtrace I was assuming
> it was without frame pointers.
When frame pointers are disabled, *all* the addresses are prefixed with
'?'.
When frame pointers are enabled, and there are a lot of '?' addresses,
it usually means the containing functions reserved a lot of stack space
and the printed addresses are mostly leftovers from previous runs.
> Let me enable those and run again, it didn't insta-trigger like it does
> without.
Thanks!
--
Josh
Powered by blists - more mailing lists