Thread (3 messages) 3 messages, 2 authors, 2022-05-04

Re: [PATCH v2] fbdev: Make fb_release() return -ENODEV if fbdev was unregistered

From: Daniel Vetter <hidden>
Date: 2022-05-04 09:49:37
Also in: dri-devel, lkml

On Tue, May 03, 2022 at 05:28:09PM +0200, Javier Martinez Canillas wrote:
On 5/2/22 15:50, Javier Martinez Canillas wrote:
quoted
A reference to the framebuffer device struct fb_info is stored in the file
private data, but this reference could no longer be valid and must not be
accessed directly. Instead, the file_fb_info() accessor function must be
used since it does sanity checking to make sure that the fb_info is valid.

This can happen for example if the registered framebuffer device is for a
driver that just uses a framebuffer provided by the system firmware. In
that case, the fbdev core would unregister the framebuffer device when a
real video driver is probed and ask to remove conflicting framebuffers.

The bug has been present for a long time but commit 27599aacbaef ("fbdev:
Hot-unplug firmware fb devices on forced removal") unmasked it since the
fbdev core started unregistering the framebuffers' devices associated.

Fixes: 27599aacbaef ("fbdev: Hot-unplug firmware fb devices on forced removal")
Reported-by: Maxime Ripard <redacted>
Reported-by: Junxiao Chang <redacted>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
---
Applied to drm-misc (drm-misc-fixes).
See my other reply, but how does this not result in leaks?
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help