From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00017C3A5A3 for ; Fri, 23 Aug 2019 20:51:22 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C47CB2070B for ; Fri, 23 Aug 2019 20:51:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C47CB2070B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 8E061B4B; Fri, 23 Aug 2019 20:51:22 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 5B8E2B0B for ; Fri, 23 Aug 2019 20:51:21 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A4C7FE6 for ; Fri, 23 Aug 2019 20:51:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DC55D88305; Fri, 23 Aug 2019 20:51:19 +0000 (UTC) Received: from x1.home (ovpn-116-99.phx2.redhat.com [10.3.116.99]) by smtp.corp.redhat.com (Postfix) with ESMTP id 958F719C4F; Fri, 23 Aug 2019 20:51:14 +0000 (UTC) Date: Fri, 23 Aug 2019 14:51:13 -0600 From: Alex Williamson To: Shameer Kolothum Subject: Re: [PATCH v8 0/6] vfio/type1: Add support for valid iova list management Message-ID: <20190823145113.5ea47e22@x1.home> In-Reply-To: <20190723160637.8384-1-shameerali.kolothum.thodi@huawei.com> References: <20190723160637.8384-1-shameerali.kolothum.thodi@huawei.com> Organization: Red Hat MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 23 Aug 2019 20:51:20 +0000 (UTC) Cc: kevin.tian@intel.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, xuwei5@hisilicon.com, linuxarm@huawei.com, iommu@lists.linux-foundation.org X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org On Tue, 23 Jul 2019 17:06:31 +0100 Shameer Kolothum wrote: > This is to revive this series which almost made to 4.18 but got dropped > as Alex found an issue[1] with IGD and USB devices RMRR region being > reported as reserved regions. > > Thanks to Eric for his work here[2]. It provides a way to exclude > these regions while reporting the valid iova regions and this respin > make use of that. > > Please note that I don't have a platform to verify the reported RMRR > issue and appreciate testing on those platforms. > > Thanks, > Shameer > > [1] https://lkml.org/lkml/2018/6/5/760 > [2] https://lore.kernel.org/patchwork/cover/1083072/ > > v7-->v8 > -Rebased to 5.3-rc1 > -Addressed comments from Alex and Eric. Please see > individual patch history. > -Added Eric's R-by to patches 4/5/6 > > v6-->v7 > -Rebased to 5.2-rc6 + Eric's patches > -Added logic to exclude IOMMU_RESV_DIRECT_RELAXABLE reserved memory > region type(patch #2). > -Dropped patch #4 of v6 as it is already part of mainline. > -Addressed "container with only an mdev device will have an empty list" > case(patches 4/6 & 5/6 - Suggested by Alex) > > Old > ---- > This series introduces an iova list associated with a vfio > iommu. The list is kept updated taking care of iommu apertures, > and reserved regions. Also this series adds checks for any conflict > with existing dma mappings whenever a new device group is attached to > the domain. > > User-space can retrieve valid iova ranges using VFIO_IOMMU_GET_INFO > ioctl capability chains. Any dma map request outside the valid iova > range will be rejected. > > v5 --> v6 > > -Rebased to 4.17-rc1 > -Changed the ordering such that previous patch#7 "iommu/dma: Move > PCI window region reservation back...") is now patch #4. This > will avoid any bisection issues pointed out by Alex. > -Added Robins's Reviewed-by tag for patch#4 > > v4 --> v5 > Rebased to next-20180315. > > -Incorporated the corner case bug fix suggested by Alex to patch #5. > -Based on suggestions by Alex and Robin, added patch#7. This > moves the PCI window reservation back in to DMA specific path. > This is to fix the issue reported by Eric[1]. > > v3 --> v4 > Addressed comments received for v3. > -dma_addr_t instead of phys_addr_t > -LIST_HEAD() usage. > -Free up iova_copy list in case of error. > -updated logic in filling the iova caps info(patch #5) > > RFCv2 --> v3 > Removed RFC tag. > Addressed comments from Alex and Eric: > - Added comments to make iova list management logic more clear. > - Use of iova list copy so that original is not altered in > case of failure. > > RFCv1 --> RFCv2 > Addressed comments from Alex: > -Introduced IOVA list management and added checks for conflicts with > existing dma map entries during attach/detach. > > Shameer Kolothum (6): > vfio/type1: Introduce iova list and add iommu aperture validity check > vfio/type1: Check reserved region conflict and update iova list > vfio/type1: Update iova list on detach > vfio/type1: check dma map request is within a valid iova range > vfio/type1: Add IOVA range capability support > vfio/type1: remove duplicate retrieval of reserved regions > > drivers/vfio/vfio_iommu_type1.c | 518 +++++++++++++++++++++++++++++++- > include/uapi/linux/vfio.h | 26 +- > 2 files changed, 531 insertions(+), 13 deletions(-) > Applied to the vfio next branch for v5.4 with Eric's additional reviews. Thanks! Alex _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu