All of lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 2/5] fbcon: Fix up user-provided virtual screen size
Date: Thu, 30 Jun 2022 21:46:23 +0200	[thread overview]
Message-ID: <d57655b2-44d1-4083-c4e9-ef4f004f2b64@gmx.de> (raw)
In-Reply-To: <CAMuHMdUoMJ6CmiKDh4MW_b-7uoxEF+H6QimsA7SfcE5kjo17vw@mail.gmail.com>

On 6/30/22 21:36, Geert Uytterhoeven wrote:
> Hi Helge,
>
> On Thu, Jun 30, 2022 at 9:31 PM Helge Deller <deller@gmx.de> wrote:
>> On 6/30/22 21:00, Geert Uytterhoeven wrote:
>>> On Wed, Jun 29, 2022 at 10:00 PM Helge Deller <deller@gmx.de> wrote:
>>>> 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!
>>>
>>>> --- 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].

Right, it will be caught by patch #4.
But if you drop this part, then everytime a user runs
	fbset -xres 800 -yres 600 -xvres 200
users will get the KERNEL BUG WARNING (from patch #4) including
a kernel backtrace in their syslogs.
This is not what you want.

If you drop the WARN() from patch #4 you'll end up with my
last patch series.



>>> Moreover, this
>>> patch will prevent triggering the WARN_ON()s in [PATCH 4/5]
>>
>> Right.
>>
>>> 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


  reply	other threads:[~2022-06-30 19:47 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-29 20:00 [PATCH 0/5] fbcon: Fixes for screen resolution changes - round 2 Helge Deller
2022-06-29 20:00 ` [PATCH 1/5] fbcon: Disallow setting font bigger than screen size Helge Deller
2022-06-30 18:51   ` Geert Uytterhoeven
2022-06-30 19:26     ` Helge Deller
2022-06-29 20:00 ` [PATCH 2/5] fbcon: Fix up user-provided virtual " Helge Deller
2022-06-30 19:00   ` Geert Uytterhoeven
2022-06-30 19:30     ` Helge Deller
2022-06-30 19:36       ` Geert Uytterhoeven
2022-06-30 19:46         ` Helge Deller [this message]
2022-06-30 20:00           ` Geert Uytterhoeven
2022-06-30 20:10             ` Helge Deller
2022-07-01  7:28               ` Geert Uytterhoeven
2022-07-01  9:30                 ` Helge Deller
2022-07-01 14:52                   ` Geert Uytterhoeven
2022-07-01 20:13                     ` Helge Deller
2022-06-29 20:00 ` [PATCH 3/5] fbcon: Prevent that screen size is smaller than font size Helge Deller
2022-06-30 19:09   ` Geert Uytterhoeven
2022-06-30 19:18     ` Geert Uytterhoeven
2022-06-30 19:40     ` Helge Deller
2022-06-29 20:00 ` [PATCH 4/5] fbmem: Prevent invalid virtual screen sizes in fb_set_var() Helge Deller
2022-06-30 19:11   ` Geert Uytterhoeven
2022-06-30 19:16     ` Helge Deller
2022-06-30 19:38       ` Geert Uytterhoeven
2022-07-01 14:49         ` Geert Uytterhoeven
2022-07-02 12:05           ` Michel Dänzer
2022-07-02 16:26             ` Helge Deller
2022-06-29 20:00 ` [PATCH 5/5] fbcon: Use fbcon_info_from_console() in fbcon_modechange_possible() Helge Deller
2022-06-30 19:21   ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d57655b2-44d1-4083-c4e9-ef4f004f2b64@gmx.de \
    --to=deller@gmx.de \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=linux-fbdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.