Thread (28 messages) 28 messages, 3 authors, 2022-07-04

Re: [PATCH 2/5] fbcon: Fix up user-provided virtual screen size

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2022-06-30 19:37:01
Also in: dri-devel

Hi Helge,

On Thu, Jun 30, 2022 at 9:31 PM Helge Deller [off-list ref] wrote:
On 6/30/22 21:00, Geert Uytterhoeven wrote:
quoted
On Wed, Jun 29, 2022 at 10:00 PM Helge Deller [off-list ref] wrote:
quoted
The virtual screen size can't be smaller than the physical screen size.
Based on the general rule that we round up user-provided input if
neccessary, adjust the virtual screen size as well if needed.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v5.4+
Thanks for your patch!
quoted
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -1106,6 +1106,11 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
                        return -EFAULT;
                console_lock();
                lock_fb_info(info);
+               /* adjust virtual screen size if user missed it */
+               if (var.xres_virtual < var.xres)
+                       var.xres_virtual = var.xres;
+               if (var.yres_virtual < var.yres)
+                       var.yres_virtual = var.yres;
                ret = fb_set_var(info, &var);
                if (!ret)
                        fbcon_update_vcs(info, var.activate & FB_ACTIVATE_ALL);
Given "[PATCH 4/5] fbmem: Prevent invalid virtual screen sizes in
fb_set_var", I don't think we need this patch.
We do.
Why? It will be caught by [PATCH 4/5].
quoted
Moreover, this
patch will prevent triggering the WARN_ON()s in [PATCH 4/5]
Right.
quoted
in the most common buggy case of drivers plainly ignoring var.[xy]res_virtual.
In summary:
This patch #2 is fixing up user-space invalid input and is not
allowed to trigger any WARN_ON().
It's the responsibility of the driver to at least look at its parameters.
What other invalid values might it let pass, that we cannot catch
at the generic level?
We could drop patch #4, but then we wouldn't catch bad drivers.
I do want to keep patch #4.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help