Re: [PATCH] fix NULL pointer deference crash

From: Greg KH
Date: Thu Apr 01 2021 - 02:55:31 EST


On Thu, Apr 01, 2021 at 09:21:54AM +0300, Hassan Shahbazi wrote:
> On Wed, Mar 31, 2021 at 07:32:06PM +0200, Greg KH wrote:
> > On Wed, Mar 31, 2021 at 07:34:29PM +0300, Hassan Shahbazi wrote:
> > > The patch has fixed a NULL pointer deference crash in hiding the cursor. It
> > > is verified by syzbot patch tester.
> > >
> > > Reported by: syzbot
> > > https://syzkaller.appspot.com/bug?id=defb47bf56e1c14d5687280c7bb91ce7b608b94b
> > >
> > > Signed-off-by: Hassan Shahbazi <h.shahbazi.git@xxxxxxxxx>
> > > ---
> > > drivers/video/fbdev/core/fbcon.c | 5 +++--
> > > 1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> > > index 44a5cd2f54cc..ee252d1c43c6 100644
> > > --- a/drivers/video/fbdev/core/fbcon.c
> > > +++ b/drivers/video/fbdev/core/fbcon.c
> > > @@ -1333,8 +1333,9 @@ static void fbcon_cursor(struct vc_data *vc, int mode)
> > >
> > > ops->cursor_flash = (mode == CM_ERASE) ? 0 : 1;
> > >
> > > - ops->cursor(vc, info, mode, get_color(vc, info, c, 1),
> > > - get_color(vc, info, c, 0));
> > > + if (ops && ops->cursor)
> >
> > As ops obviously is not NULL here (you just used it on the line above),
> > why are you checking it again?
>
> Yes, that's right. I will remove that check and will submit a new patch.
>
>
> > And what makes curser be NULL here? How can that happen?
>
> Honestly, I don't know. I reproduced the crash on my local, followed the
> stack trace, and then changed the line to avoid the crash. If you think this
> patch is not the best solution, I can drop it and investigate more to find
> the root cause.

Finding the root cause would be good to do here, so that we can
potentially fix that if it is needed.

thanks,

greg k-h