Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 11:33:27AM -0500, Josh Poimboeuf wrote: > I don't have a strong opinion either way, though this warning is going > to be documented in stack-validation.txt anyway right Peter? :-) Sure... here goes (on top of Alexandre's alt_group patch). --- Subject: objtool: Fix ORC vs a

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 06:44:44PM +0200, Peter Zijlstra wrote: > > > @@ -2494,8 +2494,16 @@ static int validate_branch(struct objtool_file > > > *file, struct symbol *func, > > > } > > > } > > > > > > - if (skip_orig) > > > +

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 10:49:09AM -0500, Josh Poimboeuf wrote: > > @@ -2439,12 +2445,6 @@ static int validate_branch(struct objtool_file > > *file, struct symbol *func, > > > > sec = insn->sec; > > > > - if (insn->alt_group && list_empty(&insn->alts)) { > > - WARN_FUNC("don't

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 09:25:51AM -0700, Sean Christopherson wrote: > On Tue, Apr 28, 2020 at 10:54:13AM -0500, Josh Poimboeuf wrote: > > On Tue, Apr 28, 2020 at 10:49:09AM -0500, Josh Poimboeuf wrote: > > > On Tue, Apr 28, 2020 at 05:25:52PM +0200, Peter Zijlstra wrote: > > > > On Tue, Apr 28, 20

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Sean Christopherson
On Tue, Apr 28, 2020 at 10:54:13AM -0500, Josh Poimboeuf wrote: > On Tue, Apr 28, 2020 at 10:49:09AM -0500, Josh Poimboeuf wrote: > > On Tue, Apr 28, 2020 at 05:25:52PM +0200, Peter Zijlstra wrote: > > > On Tue, Apr 28, 2020 at 09:31:57AM -0500, Josh Poimboeuf wrote: > > > > That's quite the monstr

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 10:49:09AM -0500, Josh Poimboeuf wrote: > On Tue, Apr 28, 2020 at 05:25:52PM +0200, Peter Zijlstra wrote: > > On Tue, Apr 28, 2020 at 09:31:57AM -0500, Josh Poimboeuf wrote: > > > That's quite the monstrosity, and I still don't see the point. I > > > thought we decided to j

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 05:25:52PM +0200, Peter Zijlstra wrote: > On Tue, Apr 28, 2020 at 09:31:57AM -0500, Josh Poimboeuf wrote: > > That's quite the monstrosity, and I still don't see the point. I > > thought we decided to just disallow CFI changes in alternatives anyway? > > That can be done mu

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 09:31:57AM -0500, Josh Poimboeuf wrote: > That's quite the monstrosity, and I still don't see the point. I > thought we decided to just disallow CFI changes in alternatives anyway? > That can be done much simpler. Something like so then ? --- diff --git a/tools/objtool/ch

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 09:14:57AM -0500, Josh Poimboeuf wrote: > On Tue, Apr 28, 2020 at 02:46:27PM +0200, Peter Zijlstra wrote: > > > I'm thinking something like this should fix it. Peter, does this look > > > ok? > > > > Unfortunate. But also, I fear, insufficient. Specifically consider > > th

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 04:16:14PM +0200, Peter Zijlstra wrote: > On Tue, Apr 28, 2020 at 02:46:27PM +0200, Peter Zijlstra wrote: > > On Tue, Apr 28, 2020 at 02:04:50AM -0500, Josh Poimboeuf wrote: > > > > I'm thinking something like this should fix it. Peter, does this look > > > ok? > > > > Un

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 02:46:27PM +0200, Peter Zijlstra wrote: > On Tue, Apr 28, 2020 at 02:04:50AM -0500, Josh Poimboeuf wrote: > > I'm thinking something like this should fix it. Peter, does this look > > ok? > > Unfortunate. But also, I fear, insufficient. Specifically consider > things like

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Tue, Apr 28, 2020 at 02:46:27PM +0200, Peter Zijlstra wrote: > > I'm thinking something like this should fix it. Peter, does this look > > ok? > > Unfortunate. But also, I fear, insufficient. Specifically consider > things like: > > ALTERNATIVE "jmp 1f", > "alt... >

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Peter Zijlstra
On Tue, Apr 28, 2020 at 02:04:50AM -0500, Josh Poimboeuf wrote: > On Mon, Mar 02, 2020 at 09:52:40AM -0600, Josh Poimboeuf wrote: > > On Mon, Mar 02, 2020 at 09:18:29AM -0600, Josh Poimboeuf wrote: > > > > So I think on machines without X86_FEATURE_SMAP, trying to unwind from > > > > the two NOPs a

Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

2020-04-28 Thread Josh Poimboeuf
On Mon, Mar 02, 2020 at 09:52:40AM -0600, Josh Poimboeuf wrote: > On Mon, Mar 02, 2020 at 09:18:29AM -0600, Josh Poimboeuf wrote: > > > So I think on machines without X86_FEATURE_SMAP, trying to unwind from > > > the two NOPs at f41 and f42 will cause the unwinder to report an > > > error? Looking