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