diff options
author | Helge Deller <deller@gmx.de> | 2022-06-25 13:00:34 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2022-07-07 10:50:46 +0200 |
commit | e64242caef18b4a5840b0e7a9bff37abd4f4f933 (patch) | |
tree | be18c49db4dbefbfa6afe060abe7fd645c6b9e3a /drivers/video/fbdev/core/fbmem.c | |
parent | fbcon: Disallow setting font bigger than screen size (diff) | |
download | linux-dev-e64242caef18b4a5840b0e7a9bff37abd4f4f933.tar.xz linux-dev-e64242caef18b4a5840b0e7a9bff37abd4f4f933.zip |
fbcon: Prevent that screen size is smaller than font size
We need to prevent that users configure a screen size which is smaller than the
currently selected font size. Otherwise rendering chars on the screen will
access memory outside the graphics memory region.
This patch adds a new function fbcon_modechange_possible() which
implements this check and which later may be extended with other checks
if necessary. The new function is called from the FBIOPUT_VSCREENINFO
ioctl handler in fbmem.c, which will return -EINVAL if userspace asked
for a too small screen size.
Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: stable@vger.kernel.org # v5.4+
Diffstat (limited to '')
-rw-r--r-- | drivers/video/fbdev/core/fbmem.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index ee63b5b47290..7dc6848a96bb 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1107,7 +1107,9 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, return -EFAULT; console_lock(); lock_fb_info(info); - ret = fb_set_var(info, &var); + ret = fbcon_modechange_possible(info, &var); + if (!ret) + ret = fb_set_var(info, &var); if (!ret) fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL); unlock_fb_info(info); |