diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2009-04-19 22:35:50 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-04-20 03:01:48 -0700 |
commit | c40af84a6726f63e35740d26f841992e8f31f92c (patch) | |
tree | dbb8271908d537817915814735cfc2a86130e2f6 /drivers/net/wireless/rt2x00/rt2x00usb.c | |
parent | 9c3fea6ab04a7bd9298e635bf29b4a5379f6c476 (diff) | |
download | kernel_samsung_smdk4412-c40af84a6726f63e35740d26f841992e8f31f92c.tar.gz kernel_samsung_smdk4412-c40af84a6726f63e35740d26f841992e8f31f92c.tar.bz2 kernel_samsung_smdk4412-c40af84a6726f63e35740d26f841992e8f31f92c.zip |
tun: Fix sk_sleep races when attaching/detaching
As the sk_sleep wait queue actually lives in tfile, which may be
detached from the tun device, bad things will happen when we use
sk_sleep after detaching.
Since the tun device is the persistent data structure here (when
requested by the user), it makes much more sense to have the wait
queue live there. There is no reason to have it in tfile at all
since the only time we can wait is if we have a tun attached.
In fact we already have a wait queue in tun_struct, so we might
as well use it.
Reported-by: Eric W. Biederman <ebiederm@xmission.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.c')
0 files changed, 0 insertions, 0 deletions