On Mon, Jun 26, 2023 at 08:34:26AM +0000, Liu, Yi L wrote: > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > 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? Jason