From: Jason Gunthorpe via iommu <iommu@lists.linux-foundation.org>
To: Liu Yi L <yi.l.liu@intel.com>
Cc: kvm@vger.kernel.org, jasowang@redhat.com, kwankhede@nvidia.com,
hch@lst.de, jean-philippe@linaro.org, dave.jiang@intel.com,
ashok.raj@intel.com, corbet@lwn.net, kevin.tian@intel.com,
parav@mellanox.com, alex.williamson@redhat.com, lkml@metux.net,
david@gibson.dropbear.id.au, dwmw2@infradead.org,
jun.j.tian@intel.com, linux-kernel@vger.kernel.org,
lushenming@huawei.com, iommu@lists.linux-foundation.org,
pbonzini@redhat.com, robin.murphy@arm.com
Subject: Re: [RFC 07/20] iommu/iommufd: Add iommufd_[un]bind_device()
Date: Tue, 21 Sep 2021 14:14:31 -0300 [thread overview]
Message-ID: <20210921171431.GT327412@nvidia.com> (raw)
In-Reply-To: <20210919063848.1476776-8-yi.l.liu@intel.com>
On Sun, Sep 19, 2021 at 02:38:35PM +0800, Liu Yi L wrote:
> +/*
> + * A iommufd_device object represents the binding relationship
> + * between iommufd and device. It is created per a successful
> + * binding request from device driver. The bound device must be
> + * a physical device so far. Subdevice will be supported later
> + * (with additional PASID information). An user-assigned cookie
> + * is also recorded to mark the device in the /dev/iommu uAPI.
> + */
> +struct iommufd_device {
> + unsigned int id;
> + struct iommufd_ctx *ictx;
> + struct device *dev; /* always be the physical device */
> + u64 dev_cookie;
> };
>
> static int iommufd_fops_open(struct inode *inode, struct file *filep)
> @@ -32,15 +52,58 @@ static int iommufd_fops_open(struct inode *inode, struct file *filep)
> return -ENOMEM;
>
> refcount_set(&ictx->refs, 1);
> + mutex_init(&ictx->lock);
> + xa_init_flags(&ictx->device_xa, XA_FLAGS_ALLOC);
> filep->private_data = ictx;
>
> return ret;
> }
>
> +static void iommufd_ctx_get(struct iommufd_ctx *ictx)
> +{
> + refcount_inc(&ictx->refs);
> +}
See my earlier remarks about how to structure the lifetime logic, this
ref isn't necessary.
> +static const struct file_operations iommufd_fops;
> +
> +/**
> + * iommufd_ctx_fdget - Acquires a reference to the internal iommufd context.
> + * @fd: [in] iommufd file descriptor.
> + *
> + * Returns a pointer to the iommufd context, otherwise NULL;
> + *
> + */
> +static struct iommufd_ctx *iommufd_ctx_fdget(int fd)
> +{
> + struct fd f = fdget(fd);
> + struct file *file = f.file;
> + struct iommufd_ctx *ictx;
> +
> + if (!file)
> + return NULL;
> +
> + if (file->f_op != &iommufd_fops)
> + return NULL;
Leaks the fdget
> +
> + ictx = file->private_data;
> + if (ictx)
> + iommufd_ctx_get(ictx);
Use success oriented flow
> + fdput(f);
> + return ictx;
> +}
> + */
> +struct iommufd_device *iommufd_bind_device(int fd, struct device *dev,
> + u64 dev_cookie)
> +{
> + struct iommufd_ctx *ictx;
> + struct iommufd_device *idev;
> + unsigned long index;
> + unsigned int id;
> + int ret;
> +
> + ictx = iommufd_ctx_fdget(fd);
> + if (!ictx)
> + return ERR_PTR(-EINVAL);
> +
> + mutex_lock(&ictx->lock);
> +
> + /* check duplicate registration */
> + xa_for_each(&ictx->device_xa, index, idev) {
> + if (idev->dev == dev || idev->dev_cookie == dev_cookie) {
> + idev = ERR_PTR(-EBUSY);
> + goto out_unlock;
> + }
I can't think of a reason why this expensive check is needed.
> + }
> +
> + idev = kzalloc(sizeof(*idev), GFP_KERNEL);
> + if (!idev) {
> + ret = -ENOMEM;
> + goto out_unlock;
> + }
> +
> + /* Establish the security context */
> + ret = iommu_device_init_user_dma(dev, (unsigned long)ictx);
> + if (ret)
> + goto out_free;
> +
> + ret = xa_alloc(&ictx->device_xa, &id, idev,
> + XA_LIMIT(IOMMUFD_DEVID_MIN, IOMMUFD_DEVID_MAX),
> + GFP_KERNEL);
idev should be fully initialized before being placed in the xarray, so
this should be the last thing done.
Why not just use the standard xa_limit_32b instead of special single
use constants?
Jason
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Liu Yi L <yi.l.liu@intel.com>
Cc: alex.williamson@redhat.com, hch@lst.de, jasowang@redhat.com,
joro@8bytes.org, jean-philippe@linaro.org, kevin.tian@intel.com,
parav@mellanox.com, lkml@metux.net, pbonzini@redhat.com,
lushenming@huawei.com, eric.auger@redhat.com, corbet@lwn.net,
ashok.raj@intel.com, yi.l.liu@linux.intel.com,
jun.j.tian@intel.com, hao.wu@intel.com, dave.jiang@intel.com,
jacob.jun.pan@linux.intel.com, kwankhede@nvidia.com,
robin.murphy@arm.com, kvm@vger.kernel.org,
iommu@lists.linux-foundation.org, dwmw2@infradead.org,
linux-kernel@vger.kernel.org, baolu.lu@linux.intel.com,
david@gibson.dropbear.id.au, nicolinc@nvidia.com
Subject: Re: [RFC 07/20] iommu/iommufd: Add iommufd_[un]bind_device()
Date: Tue, 21 Sep 2021 14:14:31 -0300 [thread overview]
Message-ID: <20210921171431.GT327412@nvidia.com> (raw)
In-Reply-To: <20210919063848.1476776-8-yi.l.liu@intel.com>
On Sun, Sep 19, 2021 at 02:38:35PM +0800, Liu Yi L wrote:
> +/*
> + * A iommufd_device object represents the binding relationship
> + * between iommufd and device. It is created per a successful
> + * binding request from device driver. The bound device must be
> + * a physical device so far. Subdevice will be supported later
> + * (with additional PASID information). An user-assigned cookie
> + * is also recorded to mark the device in the /dev/iommu uAPI.
> + */
> +struct iommufd_device {
> + unsigned int id;
> + struct iommufd_ctx *ictx;
> + struct device *dev; /* always be the physical device */
> + u64 dev_cookie;
> };
>
> static int iommufd_fops_open(struct inode *inode, struct file *filep)
> @@ -32,15 +52,58 @@ static int iommufd_fops_open(struct inode *inode, struct file *filep)
> return -ENOMEM;
>
> refcount_set(&ictx->refs, 1);
> + mutex_init(&ictx->lock);
> + xa_init_flags(&ictx->device_xa, XA_FLAGS_ALLOC);
> filep->private_data = ictx;
>
> return ret;
> }
>
> +static void iommufd_ctx_get(struct iommufd_ctx *ictx)
> +{
> + refcount_inc(&ictx->refs);
> +}
See my earlier remarks about how to structure the lifetime logic, this
ref isn't necessary.
> +static const struct file_operations iommufd_fops;
> +
> +/**
> + * iommufd_ctx_fdget - Acquires a reference to the internal iommufd context.
> + * @fd: [in] iommufd file descriptor.
> + *
> + * Returns a pointer to the iommufd context, otherwise NULL;
> + *
> + */
> +static struct iommufd_ctx *iommufd_ctx_fdget(int fd)
> +{
> + struct fd f = fdget(fd);
> + struct file *file = f.file;
> + struct iommufd_ctx *ictx;
> +
> + if (!file)
> + return NULL;
> +
> + if (file->f_op != &iommufd_fops)
> + return NULL;
Leaks the fdget
> +
> + ictx = file->private_data;
> + if (ictx)
> + iommufd_ctx_get(ictx);
Use success oriented flow
> + fdput(f);
> + return ictx;
> +}
> + */
> +struct iommufd_device *iommufd_bind_device(int fd, struct device *dev,
> + u64 dev_cookie)
> +{
> + struct iommufd_ctx *ictx;
> + struct iommufd_device *idev;
> + unsigned long index;
> + unsigned int id;
> + int ret;
> +
> + ictx = iommufd_ctx_fdget(fd);
> + if (!ictx)
> + return ERR_PTR(-EINVAL);
> +
> + mutex_lock(&ictx->lock);
> +
> + /* check duplicate registration */
> + xa_for_each(&ictx->device_xa, index, idev) {
> + if (idev->dev == dev || idev->dev_cookie == dev_cookie) {
> + idev = ERR_PTR(-EBUSY);
> + goto out_unlock;
> + }
I can't think of a reason why this expensive check is needed.
> + }
> +
> + idev = kzalloc(sizeof(*idev), GFP_KERNEL);
> + if (!idev) {
> + ret = -ENOMEM;
> + goto out_unlock;
> + }
> +
> + /* Establish the security context */
> + ret = iommu_device_init_user_dma(dev, (unsigned long)ictx);
> + if (ret)
> + goto out_free;
> +
> + ret = xa_alloc(&ictx->device_xa, &id, idev,
> + XA_LIMIT(IOMMUFD_DEVID_MIN, IOMMUFD_DEVID_MAX),
> + GFP_KERNEL);
idev should be fully initialized before being placed in the xarray, so
this should be the last thing done.
Why not just use the standard xa_limit_32b instead of special single
use constants?
Jason
next prev parent reply other threads:[~2021-09-21 17:14 UTC|newest]
Thread overview: 537+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-19 6:38 [RFC 00/20] Introduce /dev/iommu for userspace I/O address space management Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 6:38 ` [RFC 01/20] iommu/iommufd: Add /dev/iommu core Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 15:41 ` Jason Gunthorpe via iommu
2021-09-21 15:41 ` Jason Gunthorpe
2021-09-22 1:51 ` Tian, Kevin
2021-09-22 1:51 ` Tian, Kevin
2021-09-22 12:40 ` Jason Gunthorpe via iommu
2021-09-22 12:40 ` Jason Gunthorpe
2021-09-22 13:59 ` Tian, Kevin
2021-09-22 13:59 ` Tian, Kevin
2021-09-22 14:10 ` Jason Gunthorpe via iommu
2021-09-22 14:10 ` Jason Gunthorpe
2021-10-15 9:18 ` Liu, Yi L
2021-10-15 9:18 ` Liu, Yi L
2021-10-15 11:18 ` Jason Gunthorpe via iommu
2021-10-15 11:18 ` Jason Gunthorpe
2021-10-15 11:29 ` Liu, Yi L
2021-10-15 11:29 ` Liu, Yi L
2021-10-19 16:57 ` Jacob Pan
2021-10-19 16:57 ` Jacob Pan
2021-10-19 16:57 ` Jason Gunthorpe via iommu
2021-10-19 16:57 ` Jason Gunthorpe
2021-10-19 17:11 ` Jacob Pan
2021-10-19 17:11 ` Jacob Pan
2021-10-19 17:12 ` Jason Gunthorpe via iommu
2021-10-19 17:12 ` Jason Gunthorpe
2021-09-19 6:38 ` [RFC 02/20] vfio: Add device class for /dev/vfio/devices Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 15:57 ` Jason Gunthorpe via iommu
2021-09-21 15:57 ` Jason Gunthorpe
2021-09-21 23:56 ` Tian, Kevin
2021-09-21 23:56 ` Tian, Kevin
2021-09-22 0:55 ` Jason Gunthorpe via iommu
2021-09-22 0:55 ` Jason Gunthorpe
2021-09-22 1:07 ` Tian, Kevin
2021-09-22 1:07 ` Tian, Kevin
2021-09-22 12:31 ` Jason Gunthorpe via iommu
2021-09-22 12:31 ` Jason Gunthorpe
2021-09-22 3:22 ` Tian, Kevin
2021-09-22 3:22 ` Tian, Kevin
2021-09-22 12:50 ` Jason Gunthorpe via iommu
2021-09-22 12:50 ` Jason Gunthorpe
2021-09-22 14:09 ` Tian, Kevin
2021-09-22 14:09 ` Tian, Kevin
2021-09-21 19:56 ` Alex Williamson
2021-09-21 19:56 ` Alex Williamson
2021-09-22 0:56 ` Tian, Kevin
2021-09-22 0:56 ` Tian, Kevin
2021-09-29 2:08 ` David Gibson
2021-09-29 2:08 ` David Gibson
2021-09-29 19:05 ` Alex Williamson
2021-09-29 19:05 ` Alex Williamson
2021-09-30 2:43 ` David Gibson
2021-09-30 2:43 ` David Gibson
2021-10-20 12:39 ` Liu, Yi L
2021-10-20 12:39 ` Liu, Yi L
2021-09-19 6:38 ` [RFC 03/20] vfio: Add vfio_[un]register_device() Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 16:01 ` Jason Gunthorpe via iommu
2021-09-21 16:01 ` Jason Gunthorpe
2021-09-21 23:10 ` Tian, Kevin
2021-09-21 23:10 ` Tian, Kevin
2021-09-22 0:53 ` Jason Gunthorpe via iommu
2021-09-22 0:53 ` Jason Gunthorpe
2021-09-22 0:59 ` Tian, Kevin
2021-09-22 0:59 ` Tian, Kevin
2021-09-22 9:23 ` Tian, Kevin
2021-09-22 9:23 ` Tian, Kevin
2021-09-22 12:22 ` Jason Gunthorpe via iommu
2021-09-22 12:22 ` Jason Gunthorpe
2021-09-22 13:44 ` Tian, Kevin
2021-09-22 13:44 ` Tian, Kevin
2021-09-22 20:10 ` Alex Williamson
2021-09-22 20:10 ` Alex Williamson
2021-09-22 22:34 ` Tian, Kevin
2021-09-22 22:34 ` Tian, Kevin
2021-09-22 22:45 ` Alex Williamson
2021-09-22 22:45 ` Alex Williamson
2021-09-22 23:45 ` Tian, Kevin
2021-09-22 23:45 ` Tian, Kevin
2021-09-22 23:52 ` Jason Gunthorpe via iommu
2021-09-22 23:52 ` Jason Gunthorpe
2021-09-23 0:38 ` Tian, Kevin
2021-09-23 0:38 ` Tian, Kevin
2021-09-22 23:56 ` Jason Gunthorpe via iommu
2021-09-22 23:56 ` Jason Gunthorpe
2021-09-22 0:54 ` Tian, Kevin
2021-09-22 0:54 ` Tian, Kevin
2021-09-22 1:00 ` Jason Gunthorpe via iommu
2021-09-22 1:00 ` Jason Gunthorpe
2021-09-22 1:02 ` Tian, Kevin
2021-09-22 1:02 ` Tian, Kevin
2021-09-23 7:25 ` Eric Auger
2021-09-23 7:25 ` Eric Auger
2021-09-23 11:44 ` Jason Gunthorpe via iommu
2021-09-23 11:44 ` Jason Gunthorpe
2021-09-29 2:46 ` david
2021-09-29 2:46 ` david
2021-09-29 12:22 ` Jason Gunthorpe via iommu
2021-09-29 12:22 ` Jason Gunthorpe
2021-09-30 2:48 ` david
2021-09-30 2:48 ` david
2021-09-29 2:43 ` David Gibson
2021-09-29 2:43 ` David Gibson
2021-09-29 3:40 ` Tian, Kevin
2021-09-29 3:40 ` Tian, Kevin
2021-09-29 5:30 ` Tian, Kevin
2021-09-29 5:30 ` Tian, Kevin
2021-09-29 7:08 ` Cornelia Huck
2021-09-29 7:08 ` Cornelia Huck
2021-09-29 12:15 ` Jason Gunthorpe via iommu
2021-09-29 12:15 ` Jason Gunthorpe
2021-09-19 6:38 ` [RFC 04/20] iommu: Add iommu_device_get_info interface Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 16:19 ` Jason Gunthorpe via iommu
2021-09-21 16:19 ` Jason Gunthorpe
2021-09-22 2:31 ` Lu Baolu
2021-09-22 2:31 ` Lu Baolu
2021-09-22 5:07 ` Christoph Hellwig
2021-09-22 5:07 ` Christoph Hellwig
2021-09-29 2:52 ` David Gibson
2021-09-29 2:52 ` David Gibson
2021-09-29 9:25 ` Lu Baolu
2021-09-29 9:25 ` Lu Baolu
2021-09-29 9:29 ` Lu Baolu
2021-09-29 9:29 ` Lu Baolu
2021-09-19 6:38 ` [RFC 05/20] vfio/pci: Register device to /dev/vfio/devices Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 16:40 ` Jason Gunthorpe via iommu
2021-09-21 16:40 ` Jason Gunthorpe
2021-09-21 21:09 ` Alex Williamson
2021-09-21 21:09 ` Alex Williamson
2021-09-21 21:58 ` Jason Gunthorpe via iommu
2021-09-21 21:58 ` Jason Gunthorpe
2021-09-22 1:24 ` Tian, Kevin
2021-09-22 1:24 ` Tian, Kevin
2021-09-22 1:19 ` Tian, Kevin
2021-09-22 1:19 ` Tian, Kevin
2021-09-22 21:17 ` Alex Williamson
2021-09-22 21:17 ` Alex Williamson
2021-09-22 23:49 ` Tian, Kevin
2021-09-22 23:49 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 06/20] iommu: Add iommu_device_init[exit]_user_dma interfaces Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 17:09 ` Jason Gunthorpe via iommu
2021-09-21 17:09 ` Jason Gunthorpe
2021-09-22 1:47 ` Tian, Kevin
2021-09-22 1:47 ` Tian, Kevin
2021-09-22 12:39 ` Jason Gunthorpe via iommu
2021-09-22 12:39 ` Jason Gunthorpe
2021-09-22 13:56 ` Tian, Kevin
2021-09-22 13:56 ` Tian, Kevin
2021-09-27 9:42 ` Tian, Kevin
2021-09-27 9:42 ` Tian, Kevin
2021-09-27 11:34 ` Lu Baolu
2021-09-27 11:34 ` Lu Baolu
2021-09-27 13:08 ` Tian, Kevin
2021-09-27 13:08 ` Tian, Kevin
2021-09-27 11:53 ` Jason Gunthorpe via iommu
2021-09-27 11:53 ` Jason Gunthorpe
2021-09-27 13:00 ` Tian, Kevin
2021-09-27 13:00 ` Tian, Kevin
2021-09-27 13:09 ` Jason Gunthorpe via iommu
2021-09-27 13:09 ` Jason Gunthorpe
2021-09-27 13:32 ` Tian, Kevin
2021-09-27 14:39 ` Jason Gunthorpe
2021-09-28 7:13 ` Tian, Kevin
2021-09-28 11:54 ` Jason Gunthorpe
2021-09-28 23:59 ` Tian, Kevin
2021-09-27 19:19 ` Alex Williamson
2021-09-28 7:43 ` Tian, Kevin
2021-09-28 16:26 ` Alex Williamson
2021-09-27 15:09 ` Jason Gunthorpe via iommu
2021-09-27 15:09 ` Jason Gunthorpe
2021-09-28 7:30 ` Tian, Kevin
2021-09-28 7:30 ` Tian, Kevin
2021-09-28 11:57 ` Jason Gunthorpe via iommu
2021-09-28 11:57 ` Jason Gunthorpe
2021-09-28 13:35 ` Lu Baolu
2021-09-28 13:35 ` Lu Baolu
2021-09-28 14:07 ` Jason Gunthorpe via iommu
2021-09-28 14:07 ` Jason Gunthorpe
2021-09-29 0:38 ` Tian, Kevin
2021-09-29 0:38 ` Tian, Kevin
2021-09-29 12:59 ` Jason Gunthorpe via iommu
2021-09-29 12:59 ` Jason Gunthorpe
2021-10-15 1:29 ` Tian, Kevin
2021-10-15 1:29 ` Tian, Kevin
2021-10-15 11:09 ` Jason Gunthorpe via iommu
2021-10-15 11:09 ` Jason Gunthorpe
2021-10-18 1:52 ` Tian, Kevin
2021-10-18 1:52 ` Tian, Kevin
2021-09-29 2:22 ` Lu Baolu
2021-09-29 2:22 ` Lu Baolu
2021-09-29 2:29 ` Tian, Kevin
2021-09-29 2:29 ` Tian, Kevin
2021-09-29 2:38 ` Lu Baolu
2021-09-29 2:38 ` Lu Baolu
2021-09-29 4:55 ` David Gibson
2021-09-29 4:55 ` David Gibson
2021-09-29 5:38 ` Tian, Kevin
2021-09-29 5:38 ` Tian, Kevin
2021-09-29 6:35 ` David Gibson
2021-09-29 6:35 ` David Gibson
2021-09-29 7:31 ` Tian, Kevin
2021-09-29 7:31 ` Tian, Kevin
2021-09-30 3:05 ` David Gibson
2021-09-30 3:05 ` David Gibson
2021-09-29 12:57 ` Jason Gunthorpe via iommu
2021-09-29 12:57 ` Jason Gunthorpe
2021-09-30 3:09 ` David Gibson
2021-09-30 3:09 ` David Gibson
2021-09-30 22:28 ` Jason Gunthorpe via iommu
2021-09-30 22:28 ` Jason Gunthorpe
2021-10-01 3:54 ` David Gibson
2021-10-01 3:54 ` David Gibson
2021-09-19 6:38 ` [RFC 07/20] iommu/iommufd: Add iommufd_[un]bind_device() Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 17:14 ` Jason Gunthorpe via iommu [this message]
2021-09-21 17:14 ` Jason Gunthorpe
2021-10-15 9:21 ` Liu, Yi L
2021-10-15 9:21 ` Liu, Yi L
2021-09-29 5:25 ` David Gibson
2021-09-29 5:25 ` David Gibson
2021-09-29 12:24 ` Jason Gunthorpe via iommu
2021-09-29 12:24 ` Jason Gunthorpe
2021-09-30 3:10 ` David Gibson
2021-09-30 3:10 ` David Gibson
2021-10-01 12:43 ` Jason Gunthorpe via iommu
2021-10-01 12:43 ` Jason Gunthorpe
2021-10-07 1:23 ` David Gibson
2021-10-07 1:23 ` David Gibson
2021-10-07 11:35 ` Jason Gunthorpe via iommu
2021-10-07 11:35 ` Jason Gunthorpe
2021-10-11 3:24 ` David Gibson
2021-10-11 3:24 ` David Gibson
2021-09-19 6:38 ` [RFC 08/20] vfio/pci: Add VFIO_DEVICE_BIND_IOMMUFD Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 10:08 ` kernel test robot
2021-09-19 10:08 ` kernel test robot
2021-09-21 17:29 ` Jason Gunthorpe via iommu
2021-09-21 17:29 ` Jason Gunthorpe
2021-09-22 21:01 ` Alex Williamson
2021-09-22 21:01 ` Alex Williamson
2021-09-22 23:01 ` Jason Gunthorpe via iommu
2021-09-22 23:01 ` Jason Gunthorpe
2021-09-29 6:00 ` David Gibson
2021-09-29 6:00 ` David Gibson
2021-09-29 6:41 ` Tian, Kevin
2021-09-29 6:41 ` Tian, Kevin
2021-09-29 12:28 ` Jason Gunthorpe via iommu
2021-09-29 12:28 ` Jason Gunthorpe
2021-09-29 22:34 ` Tian, Kevin
2021-09-29 22:34 ` Tian, Kevin
2021-09-30 3:12 ` David Gibson
2021-09-30 3:12 ` David Gibson
2021-09-19 6:38 ` [RFC 09/20] iommu: Add page size and address width attributes Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-22 13:42 ` Eric Auger
2021-09-22 13:42 ` Eric Auger
2021-09-22 14:19 ` Tian, Kevin
2021-09-22 14:19 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 10/20] iommu/iommufd: Add IOMMU_DEVICE_GET_INFO Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 17:40 ` Jason Gunthorpe via iommu
2021-09-21 17:40 ` Jason Gunthorpe
2021-09-22 3:30 ` Tian, Kevin
2021-09-22 3:30 ` Tian, Kevin
2021-09-22 12:41 ` Jason Gunthorpe via iommu
2021-09-22 12:41 ` Jason Gunthorpe
2021-09-29 6:18 ` david
2021-09-29 6:18 ` david
2021-09-22 21:24 ` Alex Williamson
2021-09-22 21:24 ` Alex Williamson
2021-09-22 23:49 ` Jason Gunthorpe via iommu
2021-09-22 23:49 ` Jason Gunthorpe
2021-09-23 3:10 ` Tian, Kevin
2021-09-23 3:10 ` Tian, Kevin
2021-09-23 10:15 ` Jean-Philippe Brucker
2021-09-23 10:15 ` Jean-Philippe Brucker
2021-09-23 11:27 ` Jason Gunthorpe via iommu
2021-09-23 11:27 ` Jason Gunthorpe
2021-09-23 12:05 ` Tian, Kevin
2021-09-23 12:05 ` Tian, Kevin
2021-09-23 12:22 ` Jason Gunthorpe via iommu
2021-09-23 12:22 ` Jason Gunthorpe
2021-09-29 8:48 ` Tian, Kevin
2021-09-29 8:48 ` Tian, Kevin
2021-09-29 12:36 ` Jason Gunthorpe via iommu
2021-09-29 12:36 ` Jason Gunthorpe
2021-09-30 8:30 ` Tian, Kevin
2021-09-30 10:33 ` Jean-Philippe Brucker
2021-09-30 22:04 ` Jason Gunthorpe
2021-10-01 3:28 ` hch
2021-10-14 8:13 ` Tian, Kevin
2021-10-14 8:22 ` hch
2021-10-14 8:29 ` Tian, Kevin
2021-10-14 8:01 ` Tian, Kevin
2021-10-14 9:16 ` Jean-Philippe Brucker
2021-09-30 8:49 ` Tian, Kevin
2021-09-30 8:49 ` Tian, Kevin
2021-09-30 13:43 ` Lu Baolu
2021-09-30 13:43 ` Lu Baolu
2021-10-01 3:24 ` hch
2021-10-01 3:24 ` hch
2021-09-30 22:08 ` Jason Gunthorpe via iommu
2021-09-30 22:08 ` Jason Gunthorpe
2021-09-23 11:36 ` Jason Gunthorpe via iommu
2021-09-23 11:36 ` Jason Gunthorpe
[not found] ` <BN9PR11MB5433409DF766AAEF1BB2CF258CA39@BN9PR11MB5433.namprd11.prod.outlook.com>
2021-09-23 3:38 ` Tian, Kevin
2021-09-23 3:38 ` Tian, Kevin
2021-09-23 11:42 ` Jason Gunthorpe via iommu
2021-09-23 11:42 ` Jason Gunthorpe
2021-09-30 9:35 ` Tian, Kevin
2021-09-30 9:35 ` Tian, Kevin
2021-09-30 22:23 ` Jason Gunthorpe via iommu
2021-09-30 22:23 ` Jason Gunthorpe
2021-10-01 3:30 ` hch
2021-10-01 3:30 ` hch
2021-10-14 9:11 ` Tian, Kevin
2021-10-14 9:11 ` Tian, Kevin
2021-10-14 15:42 ` Jason Gunthorpe via iommu
2021-10-14 15:42 ` Jason Gunthorpe
2021-10-15 1:01 ` Tian, Kevin
2021-10-15 1:01 ` Tian, Kevin
[not found] ` <BN9PR11MB543327BB6D58AEF91AD2C9D18CB99@BN9PR11MB5433.namprd11.prod.outlook.com>
2021-10-21 2:26 ` Tian, Kevin
2021-10-21 2:26 ` Tian, Kevin
2021-10-21 14:58 ` Jean-Philippe Brucker
2021-10-21 14:58 ` Jean-Philippe Brucker
2021-10-21 23:22 ` Jason Gunthorpe via iommu
2021-10-21 23:22 ` Jason Gunthorpe
2021-10-22 7:49 ` Jean-Philippe Brucker
2021-10-22 7:49 ` Jean-Philippe Brucker
2021-10-25 16:51 ` Jason Gunthorpe via iommu
2021-10-25 16:51 ` Jason Gunthorpe
2021-10-21 23:30 ` Jason Gunthorpe via iommu
2021-10-21 23:30 ` Jason Gunthorpe
2021-10-22 3:08 ` Tian, Kevin
2021-10-22 3:08 ` Tian, Kevin
2021-10-25 23:34 ` Jason Gunthorpe via iommu
2021-10-25 23:34 ` Jason Gunthorpe
2021-10-27 1:42 ` Tian, Kevin
2021-10-27 1:42 ` Tian, Kevin
2021-10-28 2:07 ` Tian, Kevin
2021-10-28 2:07 ` Tian, Kevin
2021-10-29 13:55 ` Jason Gunthorpe via iommu
2021-10-29 13:55 ` Jason Gunthorpe
2021-09-29 6:23 ` David Gibson
2021-09-29 6:23 ` David Gibson
2021-09-19 6:38 ` [RFC 11/20] iommu/iommufd: Add IOMMU_IOASID_ALLOC/FREE Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 11:03 ` kernel test robot
2021-09-19 11:03 ` kernel test robot
2021-09-21 17:44 ` Jason Gunthorpe via iommu
2021-09-21 17:44 ` Jason Gunthorpe
2021-09-22 3:40 ` Tian, Kevin
2021-09-22 3:40 ` Tian, Kevin
2021-09-22 14:09 ` Jason Gunthorpe via iommu
2021-09-22 14:09 ` Jason Gunthorpe
2021-09-23 9:14 ` Tian, Kevin
2021-09-23 9:14 ` Tian, Kevin
2021-09-23 12:06 ` Jason Gunthorpe via iommu
2021-09-23 12:06 ` Jason Gunthorpe
2021-09-23 12:22 ` Tian, Kevin
2021-09-23 12:22 ` Tian, Kevin
2021-09-23 12:31 ` Jason Gunthorpe via iommu
2021-09-23 12:31 ` Jason Gunthorpe
2021-09-23 12:45 ` Tian, Kevin
2021-09-23 12:45 ` Tian, Kevin
2021-09-23 13:01 ` Jason Gunthorpe via iommu
2021-09-23 13:01 ` Jason Gunthorpe
2021-09-23 13:20 ` Tian, Kevin
2021-09-23 13:20 ` Tian, Kevin
2021-09-23 13:30 ` Jason Gunthorpe via iommu
2021-09-23 13:30 ` Jason Gunthorpe
2021-09-23 13:41 ` Tian, Kevin
2021-09-23 13:41 ` Tian, Kevin
2021-10-01 6:30 ` david
2021-10-01 6:30 ` david
2021-10-01 6:26 ` david
2021-10-01 6:26 ` david
2021-10-01 6:19 ` david
2021-10-01 6:19 ` david
2021-10-01 12:25 ` Jason Gunthorpe via iommu
2021-10-01 12:25 ` Jason Gunthorpe
2021-10-02 4:21 ` david
2021-10-02 4:21 ` david
2021-10-02 12:25 ` Jason Gunthorpe via iommu
2021-10-02 12:25 ` Jason Gunthorpe
2021-10-11 5:37 ` david
2021-10-11 5:37 ` david
2021-10-11 17:17 ` Jason Gunthorpe via iommu
2021-10-11 17:17 ` Jason Gunthorpe
2021-10-14 4:33 ` david
2021-10-14 4:33 ` david
2021-10-14 15:06 ` Jason Gunthorpe via iommu
2021-10-14 15:06 ` Jason Gunthorpe
2021-10-18 3:40 ` david
2021-10-18 3:40 ` david
2021-10-01 6:15 ` david
2021-10-01 6:15 ` david
2021-09-22 12:51 ` Liu, Yi L
2021-09-22 12:51 ` Liu, Yi L
2021-09-22 13:32 ` Jason Gunthorpe via iommu
2021-09-22 13:32 ` Jason Gunthorpe
2021-09-23 6:26 ` Liu, Yi L
2021-09-23 6:26 ` Liu, Yi L
2021-10-01 6:13 ` David Gibson
2021-10-01 6:13 ` David Gibson
2021-10-01 12:22 ` Jason Gunthorpe via iommu
2021-10-01 12:22 ` Jason Gunthorpe
2021-10-11 6:02 ` David Gibson
2021-10-11 6:02 ` David Gibson
2021-10-11 8:49 ` Jean-Philippe Brucker
2021-10-11 8:49 ` Jean-Philippe Brucker
2021-10-11 23:38 ` Jason Gunthorpe via iommu
2021-10-11 23:38 ` Jason Gunthorpe
2021-10-12 8:33 ` Jean-Philippe Brucker
2021-10-12 8:33 ` Jean-Philippe Brucker
2021-10-13 7:14 ` Tian, Kevin
2021-10-13 7:14 ` Tian, Kevin
2021-10-13 7:07 ` Tian, Kevin
2021-10-13 7:07 ` Tian, Kevin
2021-10-14 4:38 ` David Gibson
2021-10-14 4:38 ` David Gibson
2021-10-11 18:49 ` Jason Gunthorpe via iommu
2021-10-11 18:49 ` Jason Gunthorpe
2021-10-14 4:53 ` David Gibson
2021-10-14 4:53 ` David Gibson
2021-10-14 14:52 ` Jason Gunthorpe via iommu
2021-10-14 14:52 ` Jason Gunthorpe
2021-10-18 3:50 ` David Gibson
2021-10-18 3:50 ` David Gibson
2021-10-18 17:42 ` Jason Gunthorpe via iommu
2021-10-18 17:42 ` Jason Gunthorpe
2021-09-22 13:45 ` Jean-Philippe Brucker
2021-09-22 13:45 ` Jean-Philippe Brucker
2021-09-29 10:47 ` Liu, Yi L
2021-09-29 10:47 ` Liu, Yi L
2021-10-01 6:11 ` David Gibson
2021-10-01 6:11 ` David Gibson
2021-10-13 7:00 ` Tian, Kevin
2021-10-13 7:00 ` Tian, Kevin
2021-10-14 5:00 ` David Gibson
2021-10-14 5:00 ` David Gibson
2021-10-14 6:53 ` Tian, Kevin
2021-10-14 6:53 ` Tian, Kevin
2021-10-25 5:05 ` David Gibson
2021-10-25 5:05 ` David Gibson
2021-10-27 2:32 ` Tian, Kevin
2021-10-27 2:32 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 12/20] iommu/iommufd: Add IOMMU_CHECK_EXTENSION Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 17:47 ` Jason Gunthorpe via iommu
2021-09-21 17:47 ` Jason Gunthorpe
2021-09-22 3:41 ` Tian, Kevin
2021-09-22 3:41 ` Tian, Kevin
2021-09-22 12:55 ` Jason Gunthorpe via iommu
2021-09-22 12:55 ` Jason Gunthorpe
2021-09-22 14:13 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 13/20] iommu: Extend iommu_at[de]tach_device() for multiple devices group Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-10-14 5:24 ` David Gibson
2021-10-14 5:24 ` David Gibson
2021-10-14 7:06 ` Tian, Kevin
2021-10-14 7:06 ` Tian, Kevin
2021-10-18 3:57 ` David Gibson
2021-10-18 3:57 ` David Gibson
2021-10-18 16:32 ` Jason Gunthorpe via iommu
2021-10-18 16:32 ` Jason Gunthorpe
2021-10-25 5:14 ` David Gibson
2021-10-25 5:14 ` David Gibson
2021-10-25 12:14 ` Jason Gunthorpe via iommu
2021-10-25 12:14 ` Jason Gunthorpe
2021-10-25 13:16 ` David Gibson
2021-10-25 13:16 ` David Gibson
2021-10-25 23:36 ` Jason Gunthorpe via iommu
2021-10-25 23:36 ` Jason Gunthorpe
2021-10-26 9:23 ` David Gibson
2021-10-26 9:23 ` David Gibson
2021-09-19 6:38 ` [RFC 14/20] iommu/iommufd: Add iommufd_device_[de]attach_ioasid() Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 18:02 ` Jason Gunthorpe via iommu
2021-09-21 18:02 ` Jason Gunthorpe
2021-09-22 3:53 ` Tian, Kevin
2021-09-22 3:53 ` Tian, Kevin
2021-09-22 12:57 ` Jason Gunthorpe via iommu
2021-09-22 12:57 ` Jason Gunthorpe
2021-09-22 14:16 ` Tian, Kevin
2021-09-22 14:16 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 15/20] vfio/pci: Add VFIO_DEVICE_[DE]ATTACH_IOASID Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 18:04 ` Jason Gunthorpe via iommu
2021-09-21 18:04 ` Jason Gunthorpe
2021-09-22 3:56 ` Tian, Kevin
2021-09-22 3:56 ` Tian, Kevin
2021-09-22 12:58 ` Jason Gunthorpe via iommu
2021-09-22 12:58 ` Jason Gunthorpe
2021-09-22 14:17 ` Tian, Kevin
2021-09-22 14:17 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 16/20] vfio/type1: Export symbols for dma [un]map code sharing Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-21 18:14 ` Jason Gunthorpe via iommu
2021-09-21 18:14 ` Jason Gunthorpe
2021-09-22 3:57 ` Tian, Kevin
2021-09-22 3:57 ` Tian, Kevin
2021-09-19 6:38 ` [RFC 17/20] iommu/iommufd: Report iova range to userspace Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 9:38 ` kernel test robot
2021-09-19 16:41 ` kernel test robot
2021-09-22 14:49 ` Jean-Philippe Brucker
2021-09-22 14:49 ` Jean-Philippe Brucker
2021-09-29 10:44 ` Liu, Yi L
2021-09-29 10:44 ` Liu, Yi L
2021-09-29 12:07 ` Jean-Philippe Brucker
2021-09-29 12:07 ` Jean-Philippe Brucker
2021-09-29 12:31 ` Jason Gunthorpe via iommu
2021-09-29 12:31 ` Jason Gunthorpe
2021-09-19 6:38 ` [RFC 18/20] iommu/iommufd: Add IOMMU_[UN]MAP_DMA on IOASID Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 11:53 ` kernel test robot
2021-09-19 6:38 ` [RFC 19/20] iommu/vt-d: Implement device_info iommu_ops callback Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-09-19 6:38 ` [RFC 20/20] Doc: Add documentation for /dev/iommu Liu Yi L
2021-09-19 6:38 ` Liu Yi L
2021-10-29 0:15 ` David Gibson
2021-10-29 0:15 ` David Gibson
2021-10-29 12:44 ` Jason Gunthorpe via iommu
2021-10-29 12:44 ` Jason Gunthorpe
2021-09-19 6:45 ` [RFC 00/20] Introduce /dev/iommu for userspace I/O address space management Liu, Yi L
2021-09-19 6:45 ` Liu, Yi L
2021-09-21 13:45 ` Jason Gunthorpe via iommu
2021-09-21 13:45 ` Jason Gunthorpe
2021-09-22 3:25 ` Liu, Yi L
2021-09-22 3:25 ` Liu, Yi L
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210921171431.GT327412@nvidia.com \
--to=iommu@lists.linux-foundation.org \
--cc=alex.williamson@redhat.com \
--cc=ashok.raj@intel.com \
--cc=corbet@lwn.net \
--cc=dave.jiang@intel.com \
--cc=david@gibson.dropbear.id.au \
--cc=dwmw2@infradead.org \
--cc=hch@lst.de \
--cc=jasowang@redhat.com \
--cc=jean-philippe@linaro.org \
--cc=jgg@nvidia.com \
--cc=jun.j.tian@intel.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=kwankhede@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@metux.net \
--cc=lushenming@huawei.com \
--cc=parav@mellanox.com \
--cc=pbonzini@redhat.com \
--cc=robin.murphy@arm.com \
--cc=yi.l.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.