From: Arnd Bergmann Date: Thu, 11 Feb 2010 05:55:39 +0000 (+0000) Subject: net/macvtap: fix reference counting X-Git-Tag: v2.6.34-rc1~233^2~312 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=564517e804c9c6d4e29c270bfc1517404d27107b;p=pandora-kernel.git 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 Cc: Ed Swierk Cc: Sridhar Samudrala Acked-by: Sridhar Samudrala Acked-by: Ed Swierk Signed-off-by: David S. Miller --- Reading git-diff-tree failed