Prev: [PATCH] enable readback to get HPET working on ATI SB4x00, kernel 2.6.35_rc5
Next: input: Fix wrong dimensions check for synaptics
From: Linus Torvalds on 15 Jul 2010 19:30 On Thu, Jul 15, 2010 at 4:20 PM, H. Peter Anvin <hpa(a)zytor.com> wrote: > On 07/15/2010 03:58 PM, Andi Kleen wrote: >>> Why do we force IST use for NMI, btw? Maybe we shouldn't, and just use >>> the normal kernel stack mechanisms? >> >> If you don't use IST the SYSCALL entry is racy during the window >> when RSP is not set up yet (same for MCE etc.) >> > > Right, the kernel stack is not ready. Well, it may not be ready for the _current_ NMI handler, but if we're going to do a stack switch in sw on NMI anyway... ? Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on 15 Jul 2010 19:30 On 07/15/2010 03:58 PM, Andi Kleen wrote: >> Why do we force IST use for NMI, btw? Maybe we shouldn't, and just use >> the normal kernel stack mechanisms? > > If you don't use IST the SYSCALL entry is racy during the window > when RSP is not set up yet (same for MCE etc.) > Right, the kernel stack is not ready. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: H. Peter Anvin on 15 Jul 2010 19:50 On 07/15/2010 04:23 PM, Linus Torvalds wrote: > On Thu, Jul 15, 2010 at 4:20 PM, H. Peter Anvin <hpa(a)zytor.com> wrote: >> On 07/15/2010 03:58 PM, Andi Kleen wrote: >>>> Why do we force IST use for NMI, btw? Maybe we shouldn't, and just use >>>> the normal kernel stack mechanisms? >>> >>> If you don't use IST the SYSCALL entry is racy during the window >>> when RSP is not set up yet (same for MCE etc.) >>> >> >> Right, the kernel stack is not ready. > > Well, it may not be ready for the _current_ NMI handler, but if we're > going to do a stack switch in sw on NMI anyway... ? > No, the problem is that without IST it'll try to drop the NMI stack frame itself *on the user stack*. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Linus Torvalds on 15 Jul 2010 19:50 On Thu, Jul 15, 2010 at 4:41 PM, H. Peter Anvin <hpa(a)zytor.com> wrote: > > No, the problem is that without IST it'll try to drop the NMI stack > frame itself *on the user stack*. Oh, because SS has already been cleared, but rsp still points to the user stack? Ok, that does seem insurmountable. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Andi Kleen on 15 Jul 2010 19:50
On Thu, Jul 15, 2010 at 04:23:20PM -0700, Linus Torvalds wrote: > On Thu, Jul 15, 2010 at 4:20 PM, H. Peter Anvin <hpa(a)zytor.com> wrote: > > On 07/15/2010 03:58 PM, Andi Kleen wrote: > >>> Why do we force IST use for NMI, btw? Maybe we shouldn't, and just use > >>> the normal kernel stack mechanisms? > >> > >> If you don't use IST the SYSCALL entry is racy during the window > >> when RSP is not set up yet (same for MCE etc.) > >> > > > > Right, the kernel stack is not ready. > > Well, it may not be ready for the _current_ NMI handler, but if we're > going to do a stack switch in sw on NMI anyway... ? The CPU written initial stack frame would still go on the wrong stack. -Andi -- ak(a)linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |