summaryrefslogtreecommitdiff
path: root/drivers/vhost
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-02-18 05:45:36 +0000
committerDavid S. Miller <davem@davemloft.net>2010-02-18 14:08:37 -0800
commit02df55d28c6001a3cdb7a997a34a0b01f01d015e (patch)
treeea1bf32f7464294ce90e288bf5440323e9ca6e7f /drivers/vhost
parent37ee3d5b3e979a168536e7e2f15bd1e769cb4122 (diff)
downloadlinux-3.10-02df55d28c6001a3cdb7a997a34a0b01f01d015e.tar.gz
linux-3.10-02df55d28c6001a3cdb7a997a34a0b01f01d015e.tar.bz2
linux-3.10-02df55d28c6001a3cdb7a997a34a0b01f01d015e.zip
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 <arnd@arndb.de> Acked-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/vhost')
0 files changed, 0 insertions, 0 deletions