On Thu, Apr 29, 2021 at 01:40:28PM +0200, Daniel Vetter wrote: > On Wed, Apr 28, 2021 at 11:52:49PM +0200, Hans de Goede wrote: > > Userspace could hold open a reference to the connector->kdev device, > > through e.g. holding a sysfs-atrtribute open after > > drm_sysfs_connector_remove() has been called. In this case the connector > > could be free-ed while the connector->kdev device's drvdata is still > > pointing to it. > > > > Give drm_connector devices there own device type, which allows > > us to specify our own release function and make drm_sysfs_connector_add() > > take a reference on the connector object, and have the new release > > function put the reference when the device is released. > > > > Giving drm_connector devices there own device type, will also allow > > checking if a device is a drm_connector device with a > > "if (device->type == &drm_sysfs_device_connector)" check. > > > > Note that the setting of the name member of the device_type struct will > > cause udev events for drm_connector-s to now contain DEVTYPE=drm_connector > > as extra info. So this extends the uevent part of the userspace API. > > > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > > Are you sure? I thought sysfs is supposed to flush out any pending > operations (they complete fast) and handle open fd internally? Yes, it "should" :)