Yikes! Surprised this wasn't noticed until now. This lgtm: Reviewed-by: Lyude Paul <lyude@xxxxxxxxxx> On Mon, 2022-08-01 at 13:38 +0000, Simon Ser wrote: > When registering a connector, the kernel sends a hotplug uevent in > drm_connector_register(). When unregistering a connector, drivers > are expected to send a uevent as well. However, user-space has no way > to figure out that the connector isn't registered anymore: it'll still > be reported in GETCONNECTOR IOCTLs. > > The documentation for DRM_CONNECTOR_UNREGISTERED states: > > > The connector […] has since been unregistered and removed from > > userspace, or the connector was unregistered before it had a chance > > to be exposed to userspace > > Signed-off-by: Simon Ser <contact@xxxxxxxxxxx> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/drm_mode_config.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/drm_mode_config.c > b/drivers/gpu/drm/drm_mode_config.c > index 688c8afe0bf1..939d621c9ad4 100644 > --- a/drivers/gpu/drm/drm_mode_config.c > +++ b/drivers/gpu/drm/drm_mode_config.c > @@ -151,6 +151,9 @@ int drm_mode_getresources(struct drm_device *dev, void > *data, > count = 0; > connector_id = u64_to_user_ptr(card_res->connector_id_ptr); > drm_for_each_connector_iter(connector, &conn_iter) { > + if (connector->registration_state != > DRM_CONNECTOR_REGISTERED) > + continue; > + > /* only expose writeback connectors if userspace understands > them */ > if (!file_priv->writeback_connectors && > (connector->connector_type == > DRM_MODE_CONNECTOR_WRITEBACK)) -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat