Re: [PATCH] tty_io: Fix a missing-check bug in drivers/tty/tty_io.c

From: Johan Hovold
Date: Wed May 22 2019 - 07:22:38 EST


On Wed, May 22, 2019 at 07:13:54PM +0800, Gen Zhang wrote:
> On Wed, May 22, 2019 at 12:29:00PM +0200, Johan Hovold wrote:
> > Where do you see that the kernel is dereferencing tty->dev without
> > checking for NULL first? If you can find that, then that would indeed be
> > a bug that needs fixing.
> Thanks for your reply, Johan!
> I examined the code but failed to find this situation.

Ok, so your claim in the commit message was incorrect:

And tty->dev is dereferenced in the following codes.

> Anyway, checking return value of tty_get_device() is theoritically
> right. But tty->dev is never dereferenced, so checking is not needed.

No, sorry, it's not even theoretically correct. Our current code depends
on tty->dev sometimes being NULL. Your patch would specifically break
pseudo terminals.

> However, what if in later kernels tty->dev is dereferenced by some
> codes? Is it better to apply this check for this reason?

So for the above reason, no.

Johan