]> exis.tech > repos - linux.git/commit
fbcon: fix NULL pointer dereference for a console without vc_data
authorIan Bridges <icb@fastmail.org>
Wed, 24 Jun 2026 21:11:36 +0000 (16:11 -0500)
committerHelge Deller <deller@gmx.de>
Fri, 26 Jun 2026 13:07:38 +0000 (15:07 +0200)
commit5fae9a928482d4845bca169a3a098789203a1ca4
tree389dbf8ac1c93aa8401c7e3841818b119de6a467
parent2c1c805c65fb7dc7524e20376d6987721e73a0b1
fbcon: fix NULL pointer dereference for a console without vc_data

fbcon_new_modelist() runs when a framebuffer's modelist changes. For each
console mapped to it with fb_display[i].mode set, it reads vc_cons[i].d and
passes the vc_num to fbcon_set_disp(). This assumes a console with a mode
set has a vc_data, but it can be NULL. fbcon_set_disp() sets
fb_display[i].mode before it checks vc_data, and fbcon_deinit() leaves the
mode set after the vc_data is freed. fbcon_new_modelist() then dereferences
the NULL vc_data.

Keep fb_display[i].mode set only while the console has a vc_data. Check
vc_data before setting the mode in fbcon_set_disp(), and clear the mode in
fbcon_deinit(). The existing mode check in fbcon_new_modelist() then skips
such consoles.

Reported-by: syzbot+42525d636f430fd5d983@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=42525d636f430fd5d983
Cc: stable@vger.kernel.org
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Ian Bridges <icb@fastmail.org>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/core/fbcon.c