All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ondrej Zary <linux@zary.sk>
To: Zheyu Ma <zheyuma97@gmail.com>
Cc: Helge Deller <deller@gmx.de>,
	Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/7] video: fbdev: i740fb: Error out if 'pixclock' equals zero
Date: Sun, 10 Apr 2022 11:02:13 +0200	[thread overview]
Message-ID: <202204101102.13505.linux@zary.sk> (raw)
In-Reply-To: <CAMhUBjmm6ADp2Fr89CCQNX5FnhmBBrwFE0EQ3sq7CLER0J3ZEg@mail.gmail.com>

On Friday 08 April 2022 03:58:10 Zheyu Ma wrote:
> On Fri, Apr 8, 2022 at 3:50 AM Helge Deller <deller@gmx.de> wrote:
> >
> > On 4/4/22 10:47, Zheyu Ma wrote:
> > > The userspace program could pass any values to the driver through
> > > ioctl() interface. If the driver doesn't check the value of 'pixclock',
> > > it may cause divide error.
> > >
> > > Fix this by checking whether 'pixclock' is zero in the function
> > > i740fb_check_var().
> > >
> > > The following log reveals it:
> > >
> > > divide error: 0000 [#1] PREEMPT SMP KASAN PTI
> > > RIP: 0010:i740fb_decode_var drivers/video/fbdev/i740fb.c:444 [inline]
> > > RIP: 0010:i740fb_set_par+0x272f/0x3bb0 drivers/video/fbdev/i740fb.c:739
> > > Call Trace:
> > >     fb_set_var+0x604/0xeb0 drivers/video/fbdev/core/fbmem.c:1036
> > >     do_fb_ioctl+0x234/0x670 drivers/video/fbdev/core/fbmem.c:1112
> > >     fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1191
> > >     vfs_ioctl fs/ioctl.c:51 [inline]
> > >     __do_sys_ioctl fs/ioctl.c:874 [inline]
> > >
> > > Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
> >
> > Hello Zheyu,
> >
> > I've applied the patches #2-#7 of this series, but left
> > out this specific patch (for now).
> > As discussed on the mailing list we can try to come up with a
> > better fix (to round up the pixclock when it's invalid).
> > If not, I will apply this one later.
> 
> I'm also looking forward to a more appropriate patch for this driver!

I was not able to reproduce it at first but finally found it: the monitor must be unplugged. If a valid EDID is present, fb_validate_mode() call in i740fb_check_var() will refuse zero pixclock.

Haven't found any obvious way to correct zero pixclock value. Most other drivers simply return -EINVAL.

> Thanks,
> Zheyu Ma
> 


-- 
Ondrej Zary

  reply	other threads:[~2022-04-10  9:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-04  8:47 [PATCH 0/7] Fix divide errors in fbdev drivers Zheyu Ma
2022-04-04  8:47 ` Zheyu Ma
2022-04-04  8:47 ` [PATCH 1/7] video: fbdev: i740fb: Error out if 'pixclock' equals zero Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-07 19:49   ` Helge Deller
2022-04-07 19:49     ` Helge Deller
2022-04-08  1:58     ` Zheyu Ma
2022-04-08  1:58       ` Zheyu Ma
2022-04-10  9:02       ` Ondrej Zary [this message]
2022-04-11  6:18         ` Helge Deller
2022-04-11  6:18           ` Helge Deller
2022-04-04  8:47 ` [PATCH 2/7] video: fbdev: neofb: Fix the check of 'var->pixclock' Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04  8:47 ` [PATCH 3/7] video: fbdev: kyro: Error out if 'lineclock' equals zero Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04  8:47 ` [PATCH 4/7] video: fbdev: vt8623fb: Error out if 'pixclock' " Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04 11:47   ` Geert Uytterhoeven
2022-04-04  8:47 ` [PATCH 5/7] video: fbdev: tridentfb: " Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04  8:47 ` [PATCH 6/7] video: fbdev: arkfb: " Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04 15:52   ` Geert Uytterhoeven
2022-04-04  8:47 ` [PATCH 7/7] video: fbdev: s3fb: " Zheyu Ma
2022-04-04  8:47   ` Zheyu Ma
2022-04-04 15:52   ` 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=202204101102.13505.linux@zary.sk \
    --to=linux@zary.sk \
    --cc=deller@gmx.de \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zheyuma97@gmail.com \
    /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.