[Intel-gfx] [PATCH v2 7/7] vfio: Remove calls to vfio_group_add_container_user()
Jason Gunthorpe
jgg at nvidia.com
Mon May 2 16:22:06 UTC 2022
On Fri, Apr 29, 2022 at 02:28:20PM -0600, Alex Williamson wrote:
> On Thu, 21 Apr 2022 13:28:38 -0300
> Jason Gunthorpe <jgg at nvidia.com> wrote:
>
> > When the open_device() op is called the container_users is incremented and
> > held incremented until close_device(). Thus, so long as drivers call
> > functions within their open_device()/close_device() region they do not
> > need to worry about the container_users.
> >
> > These functions can all only be called between open_device() and
> > close_device():
> >
> > vfio_pin_pages()
> > vfio_unpin_pages()
> > vfio_dma_rw()
> > vfio_register_notifier()
> > vfio_unregister_notifier()
> >
> > Eliminate the calls to vfio_group_add_container_user() and add
> > vfio_assert_device_open() to detect driver mis-use.
>
> A comment here explaining that decrementing open_count is pushed until
> after close_device to support this feature would help to explain the
> somewhat subtle change in vfio_group_get_device_fd().
I changed it like this:
Eliminate the calls to vfio_group_add_container_user() and add
vfio_assert_device_open() to detect driver mis-use. This causes the
close_device() op to check device->open_count so always leave it elevated
while calling the op.
Thanks,
Jason
More information about the Intel-gfx
mailing list