From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5414BC43334 for ; Thu, 30 Jun 2022 19:47:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233279AbiF3TrA (ORCPT ); Thu, 30 Jun 2022 15:47:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45534 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229531AbiF3TrA (ORCPT ); Thu, 30 Jun 2022 15:47:00 -0400 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B37BD43AD4 for ; Thu, 30 Jun 2022 12:46:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1656618412; bh=0VSzZMl9imSgsa21JUdDx2qvQsqurx1STKaKBRGqUeM=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=V6g/pVbDTq2TKSLyelKYjG0aihrM6bmFXHyFsfXEYOw1wREoj9r/SMJ2tZJ4/wZoJ 1XT17BSAqIMPb8d4DAz3rfFQisWHW6FpvzHUPt10kTMj2S/BEMalj6xyOV9aqGdxB+ im7K46ZqOC1UhjFQtIV9shIGXdnDUFHp+Ss3I/lo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.20.60] ([92.116.136.11]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N4hzZ-1nfX8l1Khr-011nJn; Thu, 30 Jun 2022 21:46:52 +0200 Message-ID: Date: Thu, 30 Jun 2022 21:46:23 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH 2/5] fbcon: Fix up user-provided virtual screen size Content-Language: en-US To: Geert Uytterhoeven Cc: Daniel Vetter , Linux Fbdev development list , DRI Development References: <20220629200024.187187-1-deller@gmx.de> <20220629200024.187187-3-deller@gmx.de> <0c418b7d-474a-3f93-a1fb-2f13c4d19941@gmx.de> From: Helge Deller In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ix1Sw4SBVRNJvNlvBEHRYEJRMvMrGXMSNQmVFKWi0WZVNmdhT0w kxn2k4QFSjVPCuL0GShIIh81A5aGro86p1rlOyMyeLQI1E5Apb85zQOGtG14i1VBtszUoxj AzKeqw+aWp1WzucJTcNclUpY4UyeUebK37h92CKdpStMbH+U56cBs5ac9fA5WyyuhhVYInn TdxC4TXi2lf4LQYLKAAMw== X-UI-Out-Filterresults: notjunk:1;V03:K0:CdDgpjmD/iQ=:w7JZSejoUlKGsp/9SY1ktk noEpdOy+w1Wf2+DbO2ryXCiK6svJgUHD1Xfr4XGqqpbsLgmLLTejI1ZMGHXDpWEponkLWqyvv Kh+auFPzfaWUpvYYUtkpuwU8drbVNljaFYIka0V8Y5mAn0VPgbJqYwanuAxN72/cCArstKL16 6O/liVxayQSRIf3ylAerWClIbn69eObEH2X7lKYqE+gSt/dcghIJjnudUF30m++gOagUoK4yC YT5elQicH4e/0dqWL2MWwaFlHFh6GRYq/LZcZPtr9AlNl6NTzDp85dfv+oOlDJXBD5ZY2ysdt Jjsv7IeCnMjJ2q4FIrfRu3/1AUgiE8x1Is9odZNz13RQj8npmA5ODkZXR92I+ZQqwe1OyLXxw AVPPr3+JFzMwwI/S0pKqAqGH9Ig9jeXO9o520gqnY91pWx/uzCFKYOql1c0J3o9cQR76IvfRe 9kIaEtkZLUwwmWHpulowAmew8/Mt5+aSrmvFT/aoRTNH6gSrxEG4cCIrdb4ICTdovL0ytnNq/ wmh++JXw53b8IE7O7JuwJ04i7CxAXgt/y8/VWozE0WYvZOKhjsonQC5NLM1NEP/H3VVj6YUGj 4XWgrcbanyHq7IH7fW550vl7W0EummG1rI/iL60uZL22RlsJiCiVX2ObGLsmUfxgyY0w7biWY T6XHnpHMGzcUGyTvzhbFuD5a2LajhbvtRJY680CVXsxJLqlw1i7qj1jscZpx65lAGVxmB90Fd IYoAMb+7G32MAiv3IiSZd0orbIDZMdzXQg8s+06v8rw9x5vxNh+zO+8QiCb7NFJspWGtqERTn GLC5ZAo0KVz755t6ZCBKVGAqAYI/sQU4pQbNn47f3DM2RGtwVy48R/wkEsZhvyFC/7nXXMiOI LPOIqb8GDUCB5jCDjWtSrclCKoJRpEymUE9W69M5XKYVjs84lPyDj7g6ajognswCZ7aOsPL4S a7OwI9MTjaiwWva1t8zASOYjTO6FmRZzH794KNK4Gu7Hu4YAvQ3y7GWqZ/hMaJMkvkfV/8cjV 6DzmED8vMDnJBHwCw+1dLdme9XZfNqSdBG1juQVUHUkqJ4hi7QdgX57Z5do09r0mkv27r+8cH /mqTZiEW07jFuQCgsd38i9XhEEuPN2AXcP+tv5FxbHDsyF8p1Lc7WaEVw== Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org On 6/30/22 21:36, Geert Uytterhoeven wrote: > Hi Helge, > > On Thu, Jun 30, 2022 at 9:31 PM Helge Deller wrote: >> On 6/30/22 21:00, Geert Uytterhoeven wrote: >>> On Wed, Jun 29, 2022 at 10:00 PM Helge Deller wrote: >>>> The virtual screen size can't be smaller than the physical screen siz= e. >>>> 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 >>>> 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 =3D var.xres; >>>> + if (var.yres_virtual < var.yres) >>>> + var.yres_virtual =3D var.yres; >>>> ret =3D fb_set_var(info, &var); >>>> if (!ret) >>>> fbcon_update_vcs(info, var.activate & FB_ACTI= VATE_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-m= 68k.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 lik= e that. > -- Linus Torvalds