lkml.org 
[lkml]   [2017]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [patch 1/3] tty: resolve tty contention between kernel and user space
On Mon, Jul 10, 2017 at 11:31 AM, Okash Khawaja <okash.khawaja@gmail.com> wrote:
> 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@gmail.com> 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.

Yeah, and my point is to use goto with the symmetric giveups of lock
and reference.

--
With Best Regards,
Andy Shevchenko

\
 
 \ /
  Last update: 2017-07-10 17:22    [W:0.359 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site