Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757472Ab0GNWvj (ORCPT ); Wed, 14 Jul 2010 18:51:39 -0400 Received: from claw.goop.org ([74.207.240.146]:39407 "EHLO claw.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754722Ab0GNWvi (ORCPT ); Wed, 14 Jul 2010 18:51:38 -0400 Message-ID: <4C3E3F77.1090109@goop.org> Date: Wed, 14 Jul 2010 15:51:35 -0700 From: Jeremy Fitzhardinge User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Lightning/1.0b2pre Thunderbird/3.0.5 MIME-Version: 1.0 To: Linus Torvalds CC: Mathieu Desnoyers , LKML , Andrew Morton , Ingo Molnar , Peter Zijlstra , Steven Rostedt , Steven Rostedt , Frederic Weisbecker , Thomas Gleixner , Christoph Hellwig , Li Zefan , Lai Jiangshan , Johannes Berg , Masami Hiramatsu , Arnaldo Carvalho de Melo , Tom Zanussi , KOSAKI Motohiro , Andi Kleen , "H. Peter Anvin" , "Frank Ch. Eigler" , Tejun Heo Subject: Re: [patch 1/2] x86_64 page fault NMI-safe References: <20100714154923.947138065@efficios.com> <20100714155804.049012415@efficios.com> <20100714170617.GB4955@Krystal> <20100714203940.GC22096@Krystal> <20100714222115.GA30122@Krystal> In-Reply-To: X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1299 Lines: 27 On 07/14/2010 03:37 PM, Linus Torvalds wrote: > I think the %rip check should be pretty simple - exactly because there > is only a single point where the race is open between that 'mov' and > the 'iret'. So it's simpler than the (similar) thing we do for > debug/nmi stack fixup for sysenter that has to check a range. > > The only worry is if that crazy paravirt code wants to paravirtualize > the iretq. Afaik, paravirt does that exactly because they screw up > iret handling themselves. Maybe we could stop doing that stupid iretq > paravirtualization, and just tell the paravirt people to do the same > thing I propose, and just allow nesting. > We screw around with iret because there's a separate interrupt mask flag which can't be set atomically with respect to a stack/ring change (well, there's more to it, but I won't confuse matters). But it only really matters if the PV guest can also get NMI-like interrupts. While Xen supports NMI for PV guests, we don't use it much and I haven't looked into implementing support for it yet. J -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/