fbcon: Initialize ops->info early
Subsystems (3)
PATCH 1/1 fbcon: Initialize ops->info early
From: Thierry Reding <[email protected]>
During console takeover, which happens for all DRM/KMS setups using the fbdev helpers, fbcon_startup() is called before fbcon_init() and as a result con2fb_acquire_newinfo() will not be called (info->fbcon_par was set to non-NULL in fbcon_startup()) to assign ops->info.
This causes the cursor_timer_handler() to unreference a NULL pointer.
Avoid this by unconditionally assigning ops->info during fbcon_startup() so that it will be available early, but keep the additional assignment in con2fb_acquire_newinfo() to support console remapping at runtime.
--- drivers/video/fbdev/core/fbcon.c | 1 + 1 file changed, 1 insertion(+)
drivers/video/fbdev/core/fbcon.c +1 -0
@@ -962,6 +962,7 @@ static const char *fbcon_startup(void) ops->graphics =1 ; ops->cur_rotate =-1 ; ops->cur_blink_jiffies =HZ /5 ; + ops->info = info; info->fbcon_par = ops;if (initial_rotation !=-1 ) p->con_rotate = initial_rotation;
Signature · 1 line
2.14.1
Quoted 7 lines · Thierry Reding
From: Thierry Reding <[email protected]>
During console takeover, which happens for all DRM/KMS setups using the fbdev helpers,
fbcon_startup()is called beforefbcon_init()and as a resultcon2fb_acquire_newinfo()will not be called (info->fbcon_parwas set to non-NULL infbcon_startup()) to assignops->info.
Quoted 8 lines
This causes the
cursor_timer_handler()to unreference a NULL pointer.Avoid this by unconditionally assigning
ops->infoduringfbcon_startup()so that it will be available early, but keep the additional assignment incon2fb_acquire_newinfo()to support console remapping at runtime.Cc Kees Cook <[email protected]>Signed-off-by Thierry Reding <[email protected]>
Patch queued for 4.15, thanks.
Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics