[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1k51gqmlp.fsf@fess.ebiederm.org>
Date: Thu, 06 Aug 2009 21:22:42 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: David Miller <davem@...emloft.net>
Cc: herbert@...dor.apana.org.au, paul.moore@...com,
netdev@...r.kernel.org
Subject: Re: [RFC PATCH v1] tun: Cleanup error handling in tun_set_iff()
David Miller <davem@...emloft.net> writes:
> From: Herbert Xu <herbert@...dor.apana.org.au>
> Date: Fri, 7 Aug 2009 10:22:44 +1000
>
>> tun: Extend RTNL lock coverage over whole ioctl
>>
>> As it is, parts of the ioctl runs under the RTNL and parts of
>> it do not. The unlocked section is still protected by the BKL,
>> but there can be subtle races. For example, Eric Biederman and
>> Paul Moore observed that if two threads tried to create two tun
>> devices on the same file descriptor, then unexpected results
>> may occur.
>>
>> As there isn't anything in the ioctl that is expected to sleep
>> indefinitely, we can prevent this from occurring by extending
>> the RTNL lock coverage.
>>
>> This also allows to get rid of the BKL.
>>
>> Finally, I changed tun_get_iff to take a tun device in order to
>> avoid calling tun_put which would dead-lockt as it also tries to
>> take the RTNL lock.
>>
>> Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
>
> This looks good after a quick audit, Eric what say you?
Looks good to me.
Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists