All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Liu, Yi L" <yi.l.liu@intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>,
	"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
	"jgg@nvidia.com" <jgg@nvidia.com>
Cc: "cohuck@redhat.com" <cohuck@redhat.com>,
	"eric.auger@redhat.com" <eric.auger@redhat.com>,
	"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"mjrosato@linux.ibm.com" <mjrosato@linux.ibm.com>,
	"chao.p.peng@linux.intel.com" <chao.p.peng@linux.intel.com>,
	"yi.y.sun@linux.intel.com" <yi.y.sun@linux.intel.com>,
	"peterx@redhat.com" <peterx@redhat.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>
Subject: RE: [PATCH 10/13] vfio: Make vfio_device_open() exclusive between group path and device cdev path
Date: Mon, 30 Jan 2023 11:59:00 +0000	[thread overview]
Message-ID: <DS0PR11MB7529E91906BC8F6FB9A2B1A7C3D39@DS0PR11MB7529.namprd11.prod.outlook.com> (raw)
In-Reply-To: <BN9PR11MB52769CBCA68CD25DAC96B33B8CC49@BN9PR11MB5276.namprd11.prod.outlook.com>

> From: Tian, Kevin <kevin.tian@intel.com>
> Sent: Thursday, January 19, 2023 5:55 PM
> 
> > From: Liu, Yi L <yi.l.liu@intel.com>
> > Sent: Tuesday, January 17, 2023 9:50 PM
> >
> > @@ -17,7 +17,11 @@ struct vfio_device;
> >  struct vfio_container;
> >
> >  struct vfio_device_file {
> > +	/* static fields, init per allocation */
> >  	struct vfio_device *device;
> > +	bool single_open;
> 
> I wonder whether the readability is better by renaming this
> to 'cdev', e.g.:
> 
> 	/*
> 	 * Device cdev path cannot support multiple device open since
> 	 * it doesn't have a secure way for it. So a second device
> 	 * open attempt should be failed if the caller is from a cdev
> 	 * path or the device has already been opened by a cdev path.
> 	 */
> 	if (device->open_count != 0 &&
> 	    (df->cdev || device->single_open))
> 		return -EINVAL;
> 
> 	/*
> 	 * group path supports multiple device open, while cdev doesn't.
> 	 * So use vfio_device_group_close() for !singel_open case.
> 	 */
> 	if (!df->cdev)
> 		vfio_device_group_close(df);
> 
> because from device file p.o.v we just want to differentiate cdev
> vs. group interface. With this change we even don't need the
> comment for the last condition check.
> 
> it's fine to have device->single_open as it's kind of a status bit
> set in the cdev path to prevent more opens on this device.

Ok. 

Regards,
Yi Liu

  reply	other threads:[~2023-01-30 11:59 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-17 13:49 [PATCH 00/13] Add vfio_device cdev for iommufd support Yi Liu
2023-01-17 13:49 ` [PATCH 01/13] vfio: Allocate per device file structure Yi Liu
2023-01-18  8:37   ` Tian, Kevin
2023-01-18 13:28   ` Eric Auger
2023-01-17 13:49 ` [PATCH 02/13] vfio: Refine vfio file kAPIs Yi Liu
2023-01-18  8:42   ` Tian, Kevin
2023-01-18 14:37   ` Eric Auger
2023-01-29 13:32     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 03/13] vfio: Accept vfio device file in the driver facing kAPI Yi Liu
2023-01-18  8:45   ` Tian, Kevin
2023-01-18 16:11   ` Eric Auger
2023-01-30  9:47     ` Liu, Yi L
2023-01-30 18:02       ` Jason Gunthorpe
2023-01-17 13:49 ` [PATCH 04/13] kvm/vfio: Rename kvm_vfio_group to prepare for accepting vfio device fd Yi Liu
2023-01-18  8:47   ` Tian, Kevin
2023-01-18 16:33   ` Eric Auger
2023-01-17 13:49 ` [PATCH 05/13] kvm/vfio: Provide struct kvm_device_ops::release() insted of ::destroy() Yi Liu
2023-01-18  8:56   ` Tian, Kevin
2023-01-19  9:12   ` Eric Auger
2023-01-19  9:30     ` Tian, Kevin
2023-01-20  3:52       ` Liu, Yi L
2023-01-19 19:07   ` Jason Gunthorpe
2023-01-19 20:04     ` Alex Williamson
2023-01-20 13:03     ` Liu, Yi L
2023-01-20 14:00     ` Liu, Yi L
2023-01-20 14:33       ` Jason Gunthorpe
2023-01-20 15:09         ` Liu, Yi L
2023-01-20 15:11           ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 06/13] kvm/vfio: Accept vfio device file from userspace Yi Liu
2023-01-18  9:18   ` Tian, Kevin
2023-01-19  9:35   ` Eric Auger
2023-01-30  7:36     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 07/13] vfio: Pass struct vfio_device_file * to vfio_device_open/close() Yi Liu
2023-01-18  9:27   ` Tian, Kevin
2023-01-19 11:01   ` Eric Auger
2023-01-19 20:35     ` Alex Williamson
2023-01-30  9:38       ` Liu, Yi L
2023-01-30  9:38     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 08/13] vfio: Block device access via device fd until device is opened Yi Liu
2023-01-18  9:35   ` Tian, Kevin
2023-01-18 13:52     ` Jason Gunthorpe
2023-01-19  3:42       ` Tian, Kevin
2023-01-19  3:43         ` Liu, Yi L
2023-01-19 14:00   ` Eric Auger
2023-01-30 10:41     ` Liu, Yi L
2023-01-19 20:47   ` Alex Williamson
2023-01-30 10:48     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 09/13] vfio: Add infrastructure for bind_iommufd and attach Yi Liu
2023-01-19  9:45   ` Tian, Kevin
2023-01-30 13:52     ` Liu, Yi L
2023-01-19 23:05   ` Alex Williamson
2023-01-30 13:55     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 10/13] vfio: Make vfio_device_open() exclusive between group path and device cdev path Yi Liu
2023-01-19  9:55   ` Tian, Kevin
2023-01-30 11:59     ` Liu, Yi L [this message]
2023-01-19 23:51   ` Alex Williamson
2023-01-30 12:14     ` Liu, Yi L
2023-02-02  5:34       ` Liu, Yi L
2023-02-03 17:41         ` Jason Gunthorpe
2023-02-06  4:30           ` Liu, Yi L
2023-02-06 10:09             ` Tian, Kevin
2023-02-06 15:10               ` Jason Gunthorpe
2023-02-06 15:51                 ` Liu, Yi L
2023-02-07  0:35                   ` Tian, Kevin
2023-02-07 13:12                     ` Jason Gunthorpe
2023-02-07 13:19                       ` Liu, Yi L
2023-02-07 13:20                         ` Jason Gunthorpe
2023-02-07 13:23                           ` Liu, Yi L
2023-02-07 13:27                             ` Jason Gunthorpe
2023-02-07 13:55                               ` Liu, Yi L
2023-02-08  4:23                               ` Tian, Kevin
2023-02-08 12:41                                 ` Jason Gunthorpe
2023-01-17 13:49 ` [PATCH 11/13] vfio: Add cdev for vfio_device Yi Liu
2023-01-20  7:26   ` Tian, Kevin
2023-01-31  6:17     ` Liu, Yi L
2023-01-24 20:44   ` Jason Gunthorpe
2023-01-17 13:49 ` [PATCH 12/13] vfio: Add ioctls for device cdev iommufd Yi Liu
2023-01-20  8:03   ` Tian, Kevin
2023-02-06  9:07     ` Liu, Yi L
2023-01-17 13:49 ` [PATCH 13/13] vfio: Compile group optionally Yi Liu

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=DS0PR11MB7529E91906BC8F6FB9A2B1A7C3D39@DS0PR11MB7529.namprd11.prod.outlook.com \
    --to=yi.l.liu@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=yi.y.sun@linux.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.