Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp7607459ybn; Mon, 30 Sep 2019 17:06:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqxIPP1Zcq0Eg2GkJEMbO3+kPyE1tjfmlnAXNnn5iD/LuCUkRn5SNOhySviGOuwMuwd5Pmjg X-Received: by 2002:a17:906:3717:: with SMTP id d23mr21696227ejc.266.1569888398059; Mon, 30 Sep 2019 17:06:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569888398; cv=none; d=google.com; s=arc-20160816; b=AMYIpWNKhQsRkWPSBOuL/TLqORbZ9A4nn9k8ZLQQA8T21nmqj6LRm+FC2CsVuHD8FO ivzX3WwYxCE8Vo9CkM9ZbemXF9uhgkRRJESxhHj1sOnIGmBdHXvZQol6CWMJi+HWlzRC HsZQhDP6WjSJsYTCfJ+diRgGo0Xkn9N8EVGLJwGvd6pD01GeTcHBkm/OEt7y7gvngl13 QWf19OpDEfDCxF73C3vH+tQLts8u5L6B8sNEe8c3c8P5wjE1hU0d9aE/sdQmlAMdio8Y IzezGkm11VdoxYns3TpdOXrGDOGIz85azpLe1OjPjx43Kx/tSXrjnBqjPqKPdPtVdyrt z/EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=l18mCUTJt03XIZ99e3aB2x5yNZMXMI7CCm1mSomKN/k=; b=lZLN155MeUeHrDB1Dw8P5FCY17Il+vE3T3U8TOV3l6E7IuJtg05C67LfNVlCVSd4ov oRWEwIFYekRuAzkCdUduaknBZRPocKnKhqSY4pl001HG9jlKLe0onExsJSUhYZLFqyyy /9tubT5CdJ33Gasfv4r0Kw8d4vCmhPJLa+YBFORxXiv37xrFxoaioI9UM6Ku3SSt6tKF 1hAB+PfJbY7lMOEvlWp+L3DB48Lceqa83x33bqP9bODjtaSm3exmSyiM7MsqrjqIBeWt KbqhBxX3RBv1a2KcBBVPihzygeHvRrWOrqgFaZ/QUbGD3Mupvj/sg6TpRudSDjmsJhN9 wq7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@anastas.io header.s=mail header.b=c55I2Lc3; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=anastas.io Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e1si7811087ejf.28.2019.09.30.17.06.12; Mon, 30 Sep 2019 17:06:38 -0700 (PDT) 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; dkim=fail header.i=@anastas.io header.s=mail header.b=c55I2Lc3; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=anastas.io Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732553AbfJAACl (ORCPT + 99 others); Mon, 30 Sep 2019 20:02:41 -0400 Received: from alpha.anastas.io ([104.248.188.109]:53211 "EHLO alpha.anastas.io" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732515AbfJAACl (ORCPT ); Mon, 30 Sep 2019 20:02:41 -0400 Received: from authenticated-user (alpha.anastas.io [104.248.188.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by alpha.anastas.io (Postfix) with ESMTPSA id B632F7FD54; Mon, 30 Sep 2019 18:55:37 -0500 (CDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=anastas.io; s=mail; t=1569887738; bh=g3OgtUkIzypG8+fYbjfl8N5a0geT6PHfCSF+f6yKY4w=; h=From:To:Cc:Subject:Date:From; b=c55I2Lc3KA7Qfe5EifBioGNSMzktIB8/T0DtOgzmnJqsdoAm0vSgTj9VFpoEdCjrQ ev6X7k2agIDSQtpBmjGQngPa6yxt77uq5LMRGcH2zvtR2z1Bflh/lFSFT8Nh47YKyk c0gWJaOMLapnoaFRd9lSW7Bh3K1UGZ+79MrEvvcgNtn/5UJUjLq3yPMnAznEv+EVvK bGmkj68eRdVk7FYrprbX1uIe1Zlv+6N33zY/bUwyfBZ15rOKvFFgdAGdPac+Un2g48 /NBhWacKtfAZzO7d2SuL3PBychaFQgGyL6IvJpGGXDiMjHRUU1XzduhPkdZvVMmdde MJwFK6QN8vA0w== From: Shawn Anastasio To: alex.williamson@redhat.com, kvm@vger.kernel.org Cc: cohuck@redhat.com, linux-kernel@vger.kernel.org Subject: [PATCH RFC 0/1] VFIO: Region-specific file descriptors Date: Mon, 30 Sep 2019 18:55:32 -0500 Message-Id: <20190930235533.2759-1-shawn@anastas.io> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds region file descriptors to VFIO, a simple file descriptor type that allows read/write/mmap operations on a single region of a VFIO device. This feature is particularly useful for privileged applications that use VFIO and wish to share file descriptors with unprivileged applications without handing over full control of the device. It also allows applications to use regular offsets in read/write/mmap instead of the region index + offset that must be used with device file descriptors. The current implementation is very raw (PCI only, no reference counting which is probably wrong), but I wanted to get a sense to see if this feature is desired. If it is, tips on how to implement this more correctly are appreciated. Comments welcome! Shawn Anastasio (1): vfio/pci: Introduce region file descriptors drivers/vfio/pci/vfio_pci.c | 105 ++++++++++++++++++++++++++++ drivers/vfio/pci/vfio_pci_private.h | 5 ++ include/uapi/linux/vfio.h | 14 ++++ 3 files changed, 124 insertions(+) -- 2.20.1