From patchwork Thu Feb 15 09:44:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shameerali Kolothum Thodi X-Patchwork-Id: 128395 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1557426ljc; Thu, 15 Feb 2018 01:47:18 -0800 (PST) X-Google-Smtp-Source: AH8x22468mq4+Yrd8iNBx13CjNn4jg49hTRitZePpHv0MVN5JtC2Y910TAQ1mffyqbbOAClf0BC+ X-Received: by 2002:a17:902:e85:: with SMTP id 5-v6mr2008941plx.208.1518688038207; Thu, 15 Feb 2018 01:47:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518688038; cv=none; d=google.com; s=arc-20160816; b=PeUT8bcjKjyDeWputbqw66JZzV5OriTACPT/47KmFr5A7CsBOPDfzUYbtWTpUr//Hx nccM6e2bLywoQCnvChAakV9fqvmJicVQhusOdKaKavfZOFHxYdATXuyg/4abRy8DHEh4 9iZVew0OXHRoKQI/+nWcHay5/gtZOogsJ8TK8cPUqrqPBFLyOdfHUY7mKRtg1rZyjCAg 9znT/Avgy2TPlwn6C3WoeU8GTde157DxeWucMq5vWDPb/28bEiHNF4GF+f+wLjkVI/jt P2Qm+hc5a4Kwt6w4sV7Cg4YTnU1xNsd0GB9U53HZTYE/VFf+Ywwdu8YqkkCPLqApSJAP tzNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from:arc-authentication-results; bh=TPpchXTm+BMI/zjm8qtZRu/8PPW9lQ9atWdBg/uMvfk=; b=I3rg1TUH2XqeJKgpF2xkiGMFC0g7z7SFinnUg3YjHU5ducVMahEVGnR6CTvRZzNEhD s4xrR5RHutGLDKk5NFcD0WTfMLscn5sIlsH5Aqzp1GF6v3ewjeXwRdGxP4BYNlt6bTT3 oRC+rjUSbfmPe0jE0mz5xleoxkGQcKJP+nDx/v2TAL3fjXyzpogKFeTe+vbOrQX0kEcD U5QonnkCntWGXojPA5yfvCW6XFcdotsw9pfoz+nXPpMfx5O0gsqY2IuoexKTVTM8BlDv aeW5m+NIdZPxgKrr/kZVc3OBe/BRrrmvH2xSfIg06com5NLF4SjtYHvKA3l2Vy0rzyXA vvUQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a11si4782056pfi.90.2018.02.15.01.47.17; Thu, 15 Feb 2018 01:47:18 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755340AbeBOJrN (ORCPT + 28 others); Thu, 15 Feb 2018 04:47:13 -0500 Received: from szxga05-in.huawei.com ([45.249.212.191]:5240 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755165AbeBOJrL (ORCPT ); Thu, 15 Feb 2018 04:47:11 -0500 Received: from DGGEMS412-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id 7FE20BF8D669; Thu, 15 Feb 2018 17:46:57 +0800 (CST) Received: from S00345302A-PC.china.huawei.com (10.202.227.237) by DGGEMS412-HUB.china.huawei.com (10.3.19.212) with Microsoft SMTP Server id 14.3.361.1; Thu, 15 Feb 2018 17:46:52 +0800 From: Shameer Kolothum To: , , CC: , , , , , Shameer Kolothum Subject: [PATCH v3 0/6] vfio/type1: Add support for valid iova list management Date: Thu, 15 Feb 2018 09:44:58 +0000 Message-ID: <20180215094504.4972-1-shameerali.kolothum.thodi@huawei.com> X-Mailer: git-send-email 2.12.0.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.202.227.237] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. 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 reserve 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 | 499 +++++++++++++++++++++++++++++++++++++++- include/uapi/linux/vfio.h | 23 ++ 2 files changed, 511 insertions(+), 11 deletions(-) -- 2.7.4