Re: [PATCH] fix NULL pointer deference crash

From
Greg KH <gregkh@linuxfoundation.org>
Date
2021-04-01 06:55:28
Also in
dri-devel, lkml
Reply to
Hassan Shahbazi, 2021-04-01
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:
quoted
On Wed, Mar 31, 2021 at 07:34:29PM +0300, Hassan Shahbazi wrote:
quoted
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 <redacted>
---
 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.

quoted
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
Thread (5 messages) 5 messages, 3 authors, last reply 2021-04-01
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help