fbdev: fbcon: Properly revert changes when vc_resize() failed
authorShigeru Yoshida <syoshida@redhat.com>
Thu, 18 Aug 2022 18:13:36 +0000 (03:13 +0900)
committerHelge Deller <deller@gmx.de>
Fri, 26 Aug 2022 17:56:18 +0000 (19:56 +0200)
commita5a923038d70d2d4a86cb4e3f32625a5ee6e7e24
tree5b56c07571408ea9ec93feb3ce523e03ab9f5421
parent8d0268585b9c07dd01b77b63913a4f31ad99239b
fbdev: fbcon: Properly revert changes when vc_resize() failed

fbcon_do_set_font() calls vc_resize() when font size is changed.
However, if if vc_resize() failed, current implementation doesn't
revert changes for font size, and this causes inconsistent state.

syzbot reported unable to handle page fault due to this issue [1].
syzbot's repro uses fault injection which cause failure for memory
allocation, so vc_resize() failed.

This patch fixes this issue by properly revert changes for font
related date when vc_resize() failed.

Link: https://syzkaller.appspot.com/bug?id=3443d3a1fa6d964dd7310a0cb1696d165a3e07c4
Reported-by: syzbot+a168dbeaaa7778273c1b@syzkaller.appspotmail.com
Signed-off-by: Shigeru Yoshida <syoshida@redhat.com>
Signed-off-by: Helge Deller <deller@gmx.de>
CC: stable@vger.kernel.org # 5.15+
drivers/video/fbdev/core/fbcon.c