Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fr, 2017-04-28 at 17:35 +0800, Xiaoguang Chen wrote:
> +static size_t intel_vgpu_reg_rw_gvtg(struct intel_vgpu *vgpu, char
> *buf,
> +               size_t count, loff_t *ppos, bool iswrite)
> +{
> +       unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) -
> +                       VFIO_PCI_NUM_REGIONS;
> +       loff_t pos = *ppos & VFIO_PCI_OFFSET_MASK;
> +       int fd;
> +
> +       if (pos >= vgpu->vdev.region[i].size || iswrite) {
> +               gvt_vgpu_err("invalid op or offset for Intel vgpu fd
> region\n");
> +               return -EINVAL;
> +       }
> +
> +       fd = anon_inode_getfd("gvtg", &intel_vgpu_gvtg_ops, vgpu,
> +                       O_RDWR | O_CLOEXEC);
> +       if (fd < 0) {
> +               gvt_vgpu_err("create intel vgpu fd failed:%d\n", fd);
> +               return -EINVAL;
> +       }
> +
> +       count = min(count, (size_t)(vgpu->vdev.region[i].size - pos));
> +       memcpy(buf, &fd, count);
> +
> +       return count;
> +}

Hmm, that looks like a rather strange way to return a file descriptor.

What is the reason to not use ioctls on the vfio file handle, like older
version of these patches did?

cheers,
  Gerd

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux