On 5/4/22 13:59, Javier Martinez Canillas wrote: > This reverts commit aafa025c76dcc7d1a8c8f0bdefcbe4eb480b2f6a. That commit > attempted to fix a NULL pointer dereference, caused by the struct fb_info > associated with a framebuffer device to not longer be valid when the file > descriptor was closed. > > The issue was exposed by commit 27599aacbaef ("fbdev: Hot-unplug firmware > fb devices on forced removal"), which added a new path that goes through > the struct device removal instead of directly unregistering the fb. > > Most fbdev drivers have issues with the fb_info lifetime, because call to > framebuffer_release() from their driver's .remove callback, rather than > doing from fbops.fb_destroy callback. This meant that due to this switch, > the fb_info was now destroyed too early, while references still existed, > while before it was simply leaked. > > The patch we're reverting here reinstated that leak, hence "fixed" the > regression. But the proper solution is to fix the drivers to not release > the fb_info too soon. > > Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx> > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > Pushed this to drm-misc (drm-misc-fixes). -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat