Re: [Intel-gfx] [PATCH v12 18/24] vfio: Add VFIO_DEVICE_BIND_IOMMUFD

Liu, Yi L
2023-06-26T13:35:26Z

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Monday, June 26, 2023 8:56 PM
>
> On Mon, Jun 26, 2023 at 08:34:26AM +0000, Liu, Yi L wrote:
> > > From: Jason Gunthorpe <jgg@nvidia.com>
> > > Sent: Saturday, June 24, 2023 12:15 AM
> >
> > > > }
> > > >
> > > > +static void vfio_device_get_kvm_safe(struct vfio_device_file *df)
> > > > +{
> > > > + spin_lock(&df->kvm_ref_lock);
> > > > + if (df->kvm)
> > > > + _vfio_device_get_kvm_safe(df->device, df->kvm);
> > > > + spin_unlock(&df->kvm_ref_lock);
> > > > +}
> > >
> > > I'm surprised symbol_get() can be called from a spinlock, but it sure
> > > looks like it can..
> > >
> > > Also moving the if kvm is null test into _vfio_device_get_kvm_safe()
> > > will save a few lines.
> > >
> > > Also shouldn't be called _vfio_device...
> >
> > Ah, any suggestion on the naming? How about vfio_device_get_kvm_safe_locked()?
>
> I thought you were using _df_ now for these functions?
>

I see. Your point is passing df to _vfio_device_get_kvm_safe(() and
test the df->kvm within it. Hence rename it to be _df_. I think group
path should be ok with this change as well. Let me make it.

Regards,
Yi Liu