summaryrefslogtreecommitdiff
path: root/net/ipv6
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-02-11 05:55:39 +0000
committerDavid S. Miller <davem@davemloft.net>2010-02-15 21:49:49 -0800
commit564517e804c9c6d4e29c270bfc1517404d27107b (patch)
treef1912327050508a1d2902dbba7cbfcf7d054cd0f /net/ipv6
parente9449d85c67127d6f9d01aad8963d567ab02cb96 (diff)
net/macvtap: fix reference counting
The RCU usage in the original code was broken because there are cases where we possibly sleep with rcu_read_lock held. As a fix, change the macvtap_file_get_queue to get a reference on the socket and the netdev instead of taking the full rcu_read_lock. Also, change macvtap_file_get_queue failure case to not require a subsequent macvtap_file_put_queue, as pointed out by Ed Swierk. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Ed Swierk <eswierk@aristanetworks.com> Cc: Sridhar Samudrala <sri@us.ibm.com> Acked-by: Sridhar Samudrala <sri@us.ibm.com> Acked-by: Ed Swierk <eswierk@aristanetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions