From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757414AbcH3Dty (ORCPT ); Mon, 29 Aug 2016 23:49:54 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53588 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757185AbcH3Dtx (ORCPT ); Mon, 29 Aug 2016 23:49:53 -0400 Date: Tue, 30 Aug 2016 06:49:51 +0300 From: "Michael S. Tsirkin" To: Jason Wang Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, Alex Williamson , Cornelia Huck Subject: Re: [Qemu-devel] [PATCH v2 0/2] vfio: blacklist legacy virtio devices Message-ID: <20160830064857-mutt-send-email-mst@kernel.org> References: <1472523968-9540-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Tue, 30 Aug 2016 03:49:52 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 30, 2016 at 11:16:25AM +0800, Jason Wang wrote: > > > On 2016年08月30日 10:27, Michael S. Tsirkin wrote: > > Legacy virtio devices always bypassed an IOMMU, so using them with vfio was > > never safe. > > And it actually won't work since GPA is assumed in the device. So I'm not > sure this is must since we should get a IOMMU fault in this case. We won't get an IOMMU fault for legacy systems since they bypass the IOMMU. Instead guest userspace will get full access to all of guest memory through the device. > > This adds a quirk detecting these and disabling VFIO unless the > > noiommu mode is used. At the moment, this only applies to virtio-pci devices. > > > > The patch might make sense on stable as well. > > > > Michael S. Tsirkin (2): > > vfio: report group noiommu status > > vfio: add virtio pci quirk > > > > drivers/vfio/pci/vfio_pci_private.h | 1 + > > include/linux/vfio.h | 2 + > > drivers/vfio/pci/vfio_pci.c | 14 ++++ > > drivers/vfio/pci/vfio_pci_virtio.c | 140 ++++++++++++++++++++++++++++++++++++ > > drivers/vfio/vfio.c | 12 ++++ > > drivers/vfio/pci/Makefile | 1 + > > 6 files changed, 170 insertions(+) > > create mode 100644 drivers/vfio/pci/vfio_pci_virtio.c > >