From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH v6 12/12] KVM: indicate readonly access fault Date: Wed, 12 Sep 2012 18:34:33 +0300 Message-ID: <5050AB89.20705@redhat.com> 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> <504F01DE.20505@redhat.com> <20120911143901.GA11792@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Xiao Guangrong , LKML , KVM To: Marcelo Tosatti Return-path: In-Reply-To: <20120911143901.GA11792@amt.cnet> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 09/11/2012 05:39 PM, Marcelo Tosatti wrote: > On Tue, Sep 11, 2012 at 12:18:22PM +0300, Avi Kivity wrote: >> > 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. > > Lookup what information? Where to dispatch the write. In fact userspace has to do that anyway if it's a ROM/device. There's no way userspace can guess that unless we pass in the slot number (which isn't synchronized with anything). -- error compiling committee.c: too many arguments to function