]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
fbcon: Disallow setting font bigger than screen size
authorHelge Deller <deller@gmx.de>
Sat, 25 Jun 2022 10:56:49 +0000 (12:56 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 7 Jul 2022 08:50:45 +0000 (10:50 +0200)
Prevent that users set a font size which is bigger than the physical screen.
It's unlikely this may happen (because screens are usually much larger than the
fonts and each font char is limited to 32x32 pixels), but it may happen on
smaller screens/LCD displays.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: stable@vger.kernel.org # v4.14+
drivers/video/fbdev/core/fbcon.c

index c4e91715ef0063570381b1cac8366f47c9e160f0..a335325643935ac8041732fca531a45df6f10f1c 100644 (file)
@@ -2469,6 +2469,11 @@ static int fbcon_set_font(struct vc_data *vc, struct console_font *font,
        if (charcount != 256 && charcount != 512)
                return -EINVAL;
 
+       /* font bigger than screen resolution ? */
+       if (w > FBCON_SWAP(info->var.rotate, info->var.xres, info->var.yres) ||
+           h > FBCON_SWAP(info->var.rotate, info->var.yres, info->var.xres))
+               return -EINVAL;
+
        /* Make sure drawing engine can handle the font */
        if (!(info->pixmap.blit_x & (1 << (font->width - 1))) ||
            !(info->pixmap.blit_y & (1 << (font->height - 1))))