fbdev: clear fb_info->mode before deleting a videomode
authorMelbin K Mathew <mlbnkm1@gmail.com>
Wed, 1 Jul 2026 23:42:47 +0000 (01:42 +0200)
committerHelge Deller <deller@gmx.de>
Sat, 8 Aug 2026 06:08:58 +0000 (08:08 +0200)
commit95e647d2a5304a8fd11f1ba3c8502de700650131
treebfad07f2423655d949f66f90e341e6d2d3d0128c
parentd15d51fb26e830af58f3f21964f1c09c239077ea
fbdev: clear fb_info->mode before deleting a videomode

fb_set_var() can delete a mode from info->modelist when userspace
passes FB_ACTIVATE_INV_MODE through FBIOPUT_VSCREENINFO. The code
checks that the mode being deleted is not the current info->var and
that fbcon is not using it, but it does not check fb_info->mode.

fb_info->mode may still point into the modelist entry being deleted.
If the entry is freed, later mode sysfs reads through show_mode() can
dereference a stale pointer.

Clear fb_info->mode before calling fb_delete_videomode() when it
matches the mode being removed.

Cc: stable@vger.kernel.org # v7.1+
Signed-off-by: Melbin K Mathew <mlbnkm1@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/core/fbmem.c