On Mon, 11 Nov 2019 18:23:22 +0100 Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Mon, Nov 11, 2019 at 08:47:12AM -0800, Stephen Hemminger wrote: > > On Mon, 11 Nov 2019 01:49:20 -0800 > > "Greg KH" <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > > > > + ret = sysfs_create_bin_file(&channel->kobj, > > > &ring_buffer_bin_attr); > > > > + if (ret) > > > > + dev_notice(&dev->device, > > > > + "sysfs create ring bin file failed; %d\n", > > > ret); > > > > + > > > > > > Again, don't create sysfs files on your own, the bus code should be > > > doing this for you automatically and in a way that is race-free. > > > > > > thanks, > > > > > > greg k-h > > > > The sysfs file is only created if the VFIO/UIO driveris used. > > That's even worse. Again, sysfs files should be automatically created > by the driver core when the device is created. To randomly add/remove > random files after that happens means userspace is never notified of > that and that's not good. > > We've been working for a while to fix up these types of races, don't > purposfully add new ones for no good reason please :) > > thanks, > > greg k-h The handler for this sysfs file is in the vfio (and uio) driver. How would this work if bus handled it?