From: Arnd Bergmann Date: Thu, 18 Feb 2010 05:45:36 +0000 (+0000) Subject: macvtap: rework object lifetime rules X-Git-Tag: v2.6.34-rc1~233^2~151 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02df55d28c6001a3cdb7a997a34a0b01f01d015e;p=pandora-kernel.git macvtap: rework object lifetime rules This reworks the change done by the previous patch in a more complete way. The original macvtap code has a number of problems resulting from the use of RCU for protecting the access to struct macvtap_queue from open files. This includes - need for GFP_ATOMIC allocations for skbs - potential deadlocks when copy_*_user sleeps - inability to work with vhost-net Changing the lifetime of macvtap_queue to always depend on the open file solves all these. The RCU reference simply moves one step down to the reference on the macvlan_dev, which we only need for nonblocking operations. Signed-off-by: Arnd Bergmann Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller --- Reading git-diff-tree failed