Re: [patch 1/3] tty: resolve tty contention between kernel and user space

From: Okash Khawaja
Date: Mon Jul 10 2017 - 04:31:39 EST


On Sun, Jul 09, 2017 at 06:04:17PM +0300, Andy Shevchenko wrote:
> On Sun, Jul 9, 2017 at 2:41 PM, Okash Khawaja <okash.khawaja@xxxxxxxxx> wrote:
>
> > +struct tty_struct *tty_kopen(dev_t device)
> > +{
> > + struct tty_struct *tty;
> > + struct tty_driver *driver = NULL;
> > + int index = -1;
> > +
> > + mutex_lock(&tty_mutex);
> > + driver = tty_lookup_driver(device, NULL, &index);
> > + if (IS_ERR(driver)) {
>
> > + mutex_unlock(&tty_mutex);
> > + return ERR_CAST(driver);
>
> Hmm... perhaps
>
> tty = ERR_CAST(driver);
> goto out_unlock;
>
> See below for further details.
>
Sorry missed this one out. Since tty_lookup_driver has failed, we don't
need to down the refcount on driver. So we can return here, without
going to out_unlock.

Thanks,
Okash