Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Wed, Dec 20, 2017 at 05:41:44AM +, Andrey Vagin wrote: > Hi Josh, > > > Now I see these two warnings on Linus' tree: > > [1.902454] WARNING: stack recursion on stack type 1 > [1.902466] WARNING: can't dereference iret registers at cd089a12 > for ip entry_SYSCALL_64_fastpath+0x5/0x86 This still looks like the same issue where ORC is getting confused by paravirt patching. Unfortunately the patches which fix this got preempted by other work again. I haven't forgotten about it. 2017 is out the window, but hopefully in January I'll get a chance to revive the patches. -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Wed, Dec 20, 2017 at 05:41:44AM +, Andrey Vagin wrote: > Hi Josh, > > > Now I see these two warnings on Linus' tree: > > [1.902454] WARNING: stack recursion on stack type 1 > [1.902466] WARNING: can't dereference iret registers at cd089a12 > for ip entry_SYSCALL_64_fastpath+0x5/0x86 This still looks like the same issue where ORC is getting confused by paravirt patching. Unfortunately the patches which fix this got preempted by other work again. I haven't forgotten about it. 2017 is out the window, but hopefully in January I'll get a chance to revive the patches. -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Mon, Nov 13, 2017 at 02:06:35PM -0800, Andrei Vagin wrote: > Hi Josh, > > On Thu, Oct 26, 2017 at 8:24 AM, Josh Poimboeufwrote: > > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > >> Hi Josh, > >> > >> Here is one more warning: > >> [5.852094] WARNING: can't dereference iret registers at > >> b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > > > Thanks, I hadn't seen this one yet. > > > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > > code, which would mean this is another issue that will be fixed by my > > "Make pv ops code generation more closely match reality" patches. > > > > If you can share either the entry_64.o file or the .config, and what > > virt platform it's running on (kvm, xen, native), I should be able to > > confirm the issue. > > > > I'm in Prague this week but I should have a v2 of those patches in a > > week or two (will cc you). > > Do you have any news? We still see this warning in the kernel log. Thanks! Sorry, a bunch of other work got in the way. I haven't forgotten about it. It's now (almost) at the top of my TODO list. -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Mon, Nov 13, 2017 at 02:06:35PM -0800, Andrei Vagin wrote: > Hi Josh, > > On Thu, Oct 26, 2017 at 8:24 AM, Josh Poimboeuf wrote: > > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > >> Hi Josh, > >> > >> Here is one more warning: > >> [5.852094] WARNING: can't dereference iret registers at > >> b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > > > Thanks, I hadn't seen this one yet. > > > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > > code, which would mean this is another issue that will be fixed by my > > "Make pv ops code generation more closely match reality" patches. > > > > If you can share either the entry_64.o file or the .config, and what > > virt platform it's running on (kvm, xen, native), I should be able to > > confirm the issue. > > > > I'm in Prague this week but I should have a v2 of those patches in a > > week or two (will cc you). > > Do you have any news? We still see this warning in the kernel log. Thanks! Sorry, a bunch of other work got in the way. I haven't forgotten about it. It's now (almost) at the top of my TODO list. -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
Hi Josh, On Thu, Oct 26, 2017 at 8:24 AM, Josh Poimboeufwrote: > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: >> Hi Josh, >> >> Here is one more warning: >> [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 >> for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > Thanks, I hadn't seen this one yet. > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > code, which would mean this is another issue that will be fixed by my > "Make pv ops code generation more closely match reality" patches. > > If you can share either the entry_64.o file or the .config, and what > virt platform it's running on (kvm, xen, native), I should be able to > confirm the issue. > > I'm in Prague this week but I should have a v2 of those patches in a > week or two (will cc you). Do you have any news? We still see this warning in the kernel log. Thanks! > > -- > Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
Hi Josh, On Thu, Oct 26, 2017 at 8:24 AM, Josh Poimboeuf wrote: > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: >> Hi Josh, >> >> Here is one more warning: >> [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 >> for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > Thanks, I hadn't seen this one yet. > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > code, which would mean this is another issue that will be fixed by my > "Make pv ops code generation more closely match reality" patches. > > If you can share either the entry_64.o file or the .config, and what > virt platform it's running on (kvm, xen, native), I should be able to > confirm the issue. > > I'm in Prague this week but I should have a v2 of those patches in a > week or two (will cc you). Do you have any news? We still see this warning in the kernel log. Thanks! > > -- > Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Thu, Oct 26, 2017 at 10:24:29AM -0500, Josh Poimboeuf wrote: > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > > Hi Josh, > > > > Here is one more warning: > > [5.852094] WARNING: can't dereference iret registers at > > b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > Thanks, I hadn't seen this one yet. > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > code, which would mean this is another issue that will be fixed by my > "Make pv ops code generation more closely match reality" patches. > > If you can share either the entry_64.o file or the .config, and what > virt platform it's running on (kvm, xen, native), I should be able to > confirm the issue. The config is attached to this e-mail. It is a travis-ci vm. I think they are hosted in Google Cloud: [0.00] DMI: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [0.00] Hypervisor detected: KVM https://travis-ci.org/avagin/linux/jobs/292773933 > > I'm in Prague this week but I should have a v2 of those patches in a > week or two (will cc you). Good! > > -- > Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Thu, Oct 26, 2017 at 10:24:29AM -0500, Josh Poimboeuf wrote: > On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > > Hi Josh, > > > > Here is one more warning: > > [5.852094] WARNING: can't dereference iret registers at > > b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 > > Thanks, I hadn't seen this one yet. > > I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt > code, which would mean this is another issue that will be fixed by my > "Make pv ops code generation more closely match reality" patches. > > If you can share either the entry_64.o file or the .config, and what > virt platform it's running on (kvm, xen, native), I should be able to > confirm the issue. The config is attached to this e-mail. It is a travis-ci vm. I think they are hosted in Google Cloud: [0.00] DMI: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [0.00] Hypervisor detected: KVM https://travis-ci.org/avagin/linux/jobs/292773933 > > I'm in Prague this week but I should have a v2 of those patches in a > week or two (will cc you). Good! > > -- > Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > Hi Josh, > > Here is one more warning: > [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 > for ip entry_SYSCALL_64_fastpath+0xa/0xc2 Thanks, I hadn't seen this one yet. I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt code, which would mean this is another issue that will be fixed by my "Make pv ops code generation more closely match reality" patches. If you can share either the entry_64.o file or the .config, and what virt platform it's running on (kvm, xen, native), I should be able to confirm the issue. I'm in Prague this week but I should have a v2 of those patches in a week or two (will cc you). -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
On Wed, Oct 25, 2017 at 02:07:38PM -0700, Andrei Vagin wrote: > Hi Josh, > > Here is one more warning: > [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 > for ip entry_SYSCALL_64_fastpath+0xa/0xc2 Thanks, I hadn't seen this one yet. I suspect this is in the middle of the ENABLE_INTERRUPTS() paravirt code, which would mean this is another issue that will be fixed by my "Make pv ops code generation more closely match reality" patches. If you can share either the entry_64.o file or the .config, and what virt platform it's running on (kvm, xen, native), I should be able to confirm the issue. I'm in Prague this week but I should have a v2 of those patches in a week or two (will cc you). -- Josh
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
Hi Josh, Here is one more warning: [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 [avagin@laptop linux]$ git describe tip/auto-latest v4.14-rc6-471-g376214a8543d On Fri, Oct 20, 2017 at 11:21:33AM -0500, Josh Poimboeuf wrote: > This fixes the following ORC warning in the 'int3' entry code: > > WARNING: can't dereference iret registers at 8801c5f17fe0 for ip > 95f0d94b > > The ORC metadata had the wrong stack offset for the iret registers. > > Their location on the stack is dependent on whether the exception has an > error code. > > Reported-and-tested-by: Andrei Vagin> Fixes: 8c1f75587a18 ("x86/entry/64: Add unwind hint annotations") > Signed-off-by: Josh Poimboeuf > --- > arch/x86/entry/entry_64.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S > index 49167258d587..f6cdb7a1455e 100644 > --- a/arch/x86/entry/entry_64.S > +++ b/arch/x86/entry/entry_64.S > @@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR > irq_work_interrupt smp_irq_work_interrupt > > .macro idtentry sym do_sym has_error_code:req paranoid=0 shift_ist=-1 > ENTRY(\sym) > - UNWIND_HINT_IRET_REGS offset=8 > + UNWIND_HINT_IRET_REGS offset=\has_error_code*8 > > /* Sanity check */ > .if \shift_ist != -1 && \paranoid == 0 > -- > 2.13.6 >
Re: [PATCH 1/3] x86/entry: Fix idtentry unwind hint
Hi Josh, Here is one more warning: [5.852094] WARNING: can't dereference iret registers at b6ce01b7ffe0 for ip entry_SYSCALL_64_fastpath+0xa/0xc2 [avagin@laptop linux]$ git describe tip/auto-latest v4.14-rc6-471-g376214a8543d On Fri, Oct 20, 2017 at 11:21:33AM -0500, Josh Poimboeuf wrote: > This fixes the following ORC warning in the 'int3' entry code: > > WARNING: can't dereference iret registers at 8801c5f17fe0 for ip > 95f0d94b > > The ORC metadata had the wrong stack offset for the iret registers. > > Their location on the stack is dependent on whether the exception has an > error code. > > Reported-and-tested-by: Andrei Vagin > Fixes: 8c1f75587a18 ("x86/entry/64: Add unwind hint annotations") > Signed-off-by: Josh Poimboeuf > --- > arch/x86/entry/entry_64.S | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S > index 49167258d587..f6cdb7a1455e 100644 > --- a/arch/x86/entry/entry_64.S > +++ b/arch/x86/entry/entry_64.S > @@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR > irq_work_interrupt smp_irq_work_interrupt > > .macro idtentry sym do_sym has_error_code:req paranoid=0 shift_ist=-1 > ENTRY(\sym) > - UNWIND_HINT_IRET_REGS offset=8 > + UNWIND_HINT_IRET_REGS offset=\has_error_code*8 > > /* Sanity check */ > .if \shift_ist != -1 && \paranoid == 0 > -- > 2.13.6 >
[PATCH 1/3] x86/entry: Fix idtentry unwind hint
This fixes the following ORC warning in the 'int3' entry code: WARNING: can't dereference iret registers at 8801c5f17fe0 for ip 95f0d94b The ORC metadata had the wrong stack offset for the iret registers. Their location on the stack is dependent on whether the exception has an error code. Reported-and-tested-by: Andrei VaginFixes: 8c1f75587a18 ("x86/entry/64: Add unwind hint annotations") Signed-off-by: Josh Poimboeuf --- arch/x86/entry/entry_64.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 49167258d587..f6cdb7a1455e 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR irq_work_interrupt smp_irq_work_interrupt .macro idtentry sym do_sym has_error_code:req paranoid=0 shift_ist=-1 ENTRY(\sym) - UNWIND_HINT_IRET_REGS offset=8 + UNWIND_HINT_IRET_REGS offset=\has_error_code*8 /* Sanity check */ .if \shift_ist != -1 && \paranoid == 0 -- 2.13.6
[PATCH 1/3] x86/entry: Fix idtentry unwind hint
This fixes the following ORC warning in the 'int3' entry code: WARNING: can't dereference iret registers at 8801c5f17fe0 for ip 95f0d94b The ORC metadata had the wrong stack offset for the iret registers. Their location on the stack is dependent on whether the exception has an error code. Reported-and-tested-by: Andrei Vagin Fixes: 8c1f75587a18 ("x86/entry/64: Add unwind hint annotations") Signed-off-by: Josh Poimboeuf --- arch/x86/entry/entry_64.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S index 49167258d587..f6cdb7a1455e 100644 --- a/arch/x86/entry/entry_64.S +++ b/arch/x86/entry/entry_64.S @@ -808,7 +808,7 @@ apicinterrupt IRQ_WORK_VECTOR irq_work_interrupt smp_irq_work_interrupt .macro idtentry sym do_sym has_error_code:req paranoid=0 shift_ist=-1 ENTRY(\sym) - UNWIND_HINT_IRET_REGS offset=8 + UNWIND_HINT_IRET_REGS offset=\has_error_code*8 /* Sanity check */ .if \shift_ist != -1 && \paranoid == 0 -- 2.13.6