From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757440Ab2IKJSb (ORCPT ); Tue, 11 Sep 2012 05:18:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:4215 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751244Ab2IKJSa (ORCPT ); Tue, 11 Sep 2012 05:18:30 -0400 Message-ID: <504F01DE.20505@redhat.com> Date: Tue, 11 Sep 2012 12:18:22 +0300 From: Avi Kivity User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120828 Thunderbird/15.0 MIME-Version: 1.0 To: Marcelo Tosatti CC: Xiao Guangrong , LKML , KVM Subject: Re: [PATCH v6 12/12] KVM: indicate readonly access fault References: <5032F8FD.2020306@linux.vnet.ibm.com> <5032FA78.9040405@linux.vnet.ibm.com> <5034CB60.30107@redhat.com> <5034D4E3.2080801@linux.vnet.ibm.com> <5048AE96.3050909@redhat.com> <5049C4D7.50101@linux.vnet.ibm.com> <20120910223140.GA24275@amt.cnet> In-Reply-To: <20120910223140.GA24275@amt.cnet> 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 On 09/11/2012 01:31 AM, Marcelo Tosatti wrote: > On Fri, Sep 07, 2012 at 05:56:39PM +0800, Xiao Guangrong wrote: >> On 09/06/2012 10:09 PM, Avi Kivity wrote: >> > On 08/22/2012 03:47 PM, Xiao Guangrong wrote: >> >> On 08/22/2012 08:06 PM, Avi Kivity wrote: >> >>> On 08/21/2012 06:03 AM, Xiao Guangrong wrote: >> >>>> Introduce write_readonly_mem in mmio-exit-info to indicate this exit is >> >>>> caused by write access on readonly memslot >> >>> >> >>> Please document this in chapter 5 of apic.txt. >> >>> >> >> >> >> Okay, please review this one. >> >> >> >> Subject: [PATCH v6 12/12] KVM: indicate readonly access fault >> >> >> >> Introduce write_readonly_mem in mmio-exit-info to indicate this exit is >> >> caused by write access on readonly memslot >> >> >> > >> > I'm not sure whether this indication can be trusted by userspace. By >> > the time userspace gets to process this, the slot may no longer exist, >> > or it may be writable. >> >> The case of deleting memslot is ok, because userspace just skips this fault >> if no readonly mem or no fault handler can be found. >> >> Switching memslot from readonly to writable sounds strange, i agree with you >> that this flag is untrusty under this case. >> >> Marcelo, any comments? > > The same can happen with slot deletion, for example. > > Userspace (which performed the modification which can result in faults > to non-existant/read-only/.../new-tag memslot), must handle the faults > properly or avoid the possibility for reference to memslot information > from the past. > > I think its worthwhile to add a note about this in the API > documentation: "The user of this interface is responsible for handling > references to stale memslot information, either by handling > exit notifications which reference stale memslot information or not > allowing these notifications to exist by stopping all vcpus in userspace > before performing modifications to the memslots map". Or we can drop the new interface and rely on userspace to perform the lookup under its own locking rules. It's slow, but writes to ROM or ROM/device are rare anyway. -- error compiling committee.c: too many arguments to function