summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2017-11-13 18:16:31 +0100
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2017-11-13 18:16:31 +0100
commitd447ebf9c77b16effd8aca114d7d281639e3f77f (patch)
tree6d74797fdd593ffcfd425ba81290d12222d99010 /drivers
parentvideo: fbdev: Convert timers to use timer_setup() (diff)
downloadlinux-d447ebf9c77b16effd8aca114d7d281639e3f77f.tar.xz
linux-d447ebf9c77b16effd8aca114d7d281639e3f77f.zip
fbcon: Initialize ops->info early
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. Signed-off-by: Thierry Reding <treding@nvidia.com> Cc: Kees Cook <keescook@chromium.org> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/core/fbcon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 3b4a96379128..929ca472c524 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -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;