From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57930) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aiOWc-0008Gw-S4 for qemu-devel@nongnu.org; Tue, 22 Mar 2016 11:47:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aiOWY-0007oG-RY for qemu-devel@nongnu.org; Tue, 22 Mar 2016 11:47:18 -0400 Date: Tue, 22 Mar 2016 09:47:10 -0600 From: Alex Williamson Message-ID: <20160322094710.75ce3ace@t450s.home> In-Reply-To: <20160322030515.GZ23586@voom.redhat.com> References: <1458546426-26222-1-git-send-email-aik@ozlabs.ru> <1458546426-26222-13-git-send-email-aik@ozlabs.ru> <20160322030515.GZ23586@voom.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH qemu v14 12/18] vfio: Check that IOMMU MR translates to system address space List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson Cc: Alexey Kardashevskiy , qemu-ppc@nongnu.org, qemu-devel@nongnu.org On Tue, 22 Mar 2016 14:05:15 +1100 David Gibson wrote: > On Mon, Mar 21, 2016 at 06:47:00PM +1100, Alexey Kardashevskiy wrote: > > At the moment IOMMU MR only translate to the system memory. > > However if some new code changes this, we will need clear indication why > > it is not working so here is the check. > > > > Signed-off-by: Alexey Kardashevskiy > > Reviewed-by: David Gibson > > Alex, any chance we could merge this quickly, since it is a reasonable > sanity check even without the rest of the changes. It all sounds very theoretical to inspire some rush to merge it quickly, is there any chance we could actually hit this currently? > > --- > > Changes: > > v14: > > * new to the series > > --- > > hw/vfio/common.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > > index 55723c9..9587c25 100644 > > --- a/hw/vfio/common.c > > +++ b/hw/vfio/common.c > > @@ -266,6 +266,12 @@ static void vfio_iommu_map_notify(Notifier *n, void *data) > > > > trace_vfio_iommu_map_notify(iova, iova + iotlb->addr_mask); > > > > + if (iotlb->target_as != &address_space_memory) { > > + error_report("Wrong target AS \"%s\", only system memory is allowed", > > + iotlb->target_as->name?iotlb->target_as->name:"noname"); Spaces please. > > + return; > > + } > > + > > /* > > * The IOMMU TLB entry we have just covers translation through > > * this IOMMU to its immediate target. We need to translate >