From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752336AbeEOW1G (ORCPT ); Tue, 15 May 2018 18:27:06 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:34046 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752002AbeEOW1F (ORCPT ); Tue, 15 May 2018 18:27:05 -0400 Date: Wed, 16 May 2018 00:26:45 +0200 (CEST) From: Thomas Gleixner To: Josh Poimboeuf cc: Alexey Dobriyan , "Anvin, H Peter" , "Ye, Xiaolong" , Ingo Molnar , Andy Lutomirski , Borislav Petkov , Brian Gerst , Denys Vlasenko , Linus Torvalds , Peter Zijlstra , LKML , "H. Peter Anvin" , "tipbuild@zytor.com" , "lkp@01.org" Subject: Re: [lkp-robot] [x86/asm] 51bad67ffb: int3:#[##] In-Reply-To: <20180515222211.ods5hzne46hozojq@treble> Message-ID: References: <20180515080033.GA7714@yexl-desktop> <20180515210757.GA12225@avx2> <20180515214337.GA18021@avx2> <20180515222211.ods5hzne46hozojq@treble> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 15 May 2018, Josh Poimboeuf wrote: > On Wed, May 16, 2018 at 12:43:37AM +0300, Alexey Dobriyan wrote: > > On Tue, May 15, 2018 at 09:25:53PM +0000, Anvin, H Peter wrote: > > > Why is that a problem? > > > Code: 00 00 00 eb e6 cc cc cc cc cc cc cc cc cc cc cc cc cc fa 8d b6 00 00 00 00 e8 5d e8 8f ff 8b 44 24 34 83 e0 03 83 f8 03 72 28 cc <cc> cc cc cc cc cc cc fa 8d b6 00 00 00 00 e8 3d e8 8f ff 89 e0 > > > > > > EIP: ret_from_intr+0xd/0x14 SS:ESP: 0068:8603bfb4 > > > > > > INT3 slipped through M586 => X86_ALIGNMENT_16 :-\ > > > > I could make the patch x86_64 only, but! > > > > It crashed into the middle of the padding. > > > > 796ef8fc : > > 796ef8fc: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] > > 796ef900: 83 e0 03 and eax,0x3 > > 796ef903: 83 f8 03 cmp eax,0x3 > > 796ef906: 72 28 jb 796ef930 > > 796ef908: cc int3 > > 796ef909: cc <========> int3 > > 796ef90a: cc int3 > > 796ef90b: cc int3 > > 796ef90c: cc int3 > > 796ef90d: cc int3 > > 796ef90e: cc int3 > > 796ef90f: cc int3 > > The padding isn't needed there, and the resume_userspace symbol is never > used, so wouldn't this fix it? Gack. Right you are. I assumed that the ENTRY() is used without checking .... > > diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S > index bef8e2b202a8..9e56243c984c 100644 > --- a/arch/x86/entry/entry_32.S > +++ b/arch/x86/entry/entry_32.S > @@ -338,7 +338,6 @@ ret_from_intr: > cmpl $USER_RPL, %eax > jb resume_kernel # not returning to v8086 or userspace > > -ENTRY(resume_userspace) > DISABLE_INTERRUPTS(CLBR_ANY) > TRACE_IRQS_OFF > movl %esp, %eax > From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5014933595440709050==" MIME-Version: 1.0 From: Thomas Gleixner To: lkp@lists.01.org Subject: Re: [lkp-robot] [x86/asm] 51bad67ffb: int3:#[##] Date: Wed, 16 May 2018 00:26:45 +0200 Message-ID: In-Reply-To: <20180515222211.ods5hzne46hozojq@treble> List-Id: --===============5014933595440709050== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Tue, 15 May 2018, Josh Poimboeuf wrote: > On Wed, May 16, 2018 at 12:43:37AM +0300, Alexey Dobriyan wrote: > > On Tue, May 15, 2018 at 09:25:53PM +0000, Anvin, H Peter wrote: > > > Why is that a problem? > > > Code: 00 00 00 eb e6 cc cc cc cc cc cc cc cc cc cc cc cc cc fa 8d b6 = 00 00 00 00 e8 5d e8 8f ff 8b 44 24 34 83 e0 03 83 f8 03 72 28 cc <cc>= ; cc cc cc cc cc cc fa 8d b6 00 00 00 00 e8 3d e8 8f ff 89 e0 > > > = > > > EIP: ret_from_intr+0xd/0x14 SS:ESP: 0068:8603bfb4 > > > = > > > INT3 slipped through M586 =3D> X86_ALIGNMENT_16 :-\ > > = > > I could make the patch x86_64 only, but! > > = > > It crashed into the middle of the padding. > > = > > 796ef8fc : > > 796ef8fc: 8b 44 24 34 mov eax,DWORD PTR [esp+0x34] > > 796ef900: 83 e0 03 and eax,0x3 > > 796ef903: 83 f8 03 cmp eax,0x3 > > 796ef906: 72 28 jb 796ef930 > > 796ef908: cc int3 > > 796ef909: cc <=3D=3D=3D=3D=3D=3D=3D=3D> int3 > > 796ef90a: cc int3 > > 796ef90b: cc int3 > > 796ef90c: cc int3 > > 796ef90d: cc int3 > > 796ef90e: cc int3 > > 796ef90f: cc int3 > = > The padding isn't needed there, and the resume_userspace symbol is never > used, so wouldn't this fix it? Gack. Right you are. I assumed that the ENTRY() is used without checking ..= .. > = > diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S > index bef8e2b202a8..9e56243c984c 100644 > --- a/arch/x86/entry/entry_32.S > +++ b/arch/x86/entry/entry_32.S > @@ -338,7 +338,6 @@ ret_from_intr: > cmpl $USER_RPL, %eax > jb resume_kernel # not returning to v8086 or userspace > = > -ENTRY(resume_userspace) > DISABLE_INTERRUPTS(CLBR_ANY) > TRACE_IRQS_OFF > movl %esp, %eax >=20 --===============5014933595440709050==--