linux_old1/net/openvswitch
Thomas Graf fa2d8ff4e3 openvswitch: Return vport module ref before destruction
Return module reference before invoking the respective vport
->destroy() function. This is needed as ovs_vport_del() is not
invoked inside an RCU read side critical section so the kfree
can occur immediately before returning to ovs_vport_del().

Returning the module reference before ->destroy() is safe because
the module unregistration is blocked on ovs_lock which we hold
while destroying the datapath.

Fixes: 62b9c8d037 ("ovs: Turn vports with dependencies into separate modules")
Reported-by: Pravin Shelar <pshelar@nicira.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-31 15:59:50 -04:00
..
Kconfig openvswitch: Fix build failure. 2014-11-14 01:24:27 -05:00
Makefile ovs: Turn vports with dependencies into separate modules 2014-10-28 14:43:18 -04:00
actions.c net: openvswitch: Support masked set actions. 2015-02-07 22:40:17 -08:00
datapath.c openvswitch: Fix net exit. 2015-02-20 15:32:08 -05:00
datapath.h openvswitch: Add support for OVS_FLOW_ATTR_PROBE. 2014-11-09 18:58:44 -08:00
dp_notify.c genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
flow.c openvswitch: Reset key metadata for packet execution. 2015-02-11 14:40:15 -08:00
flow.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
flow_netlink.c openvswitch: Fix serialization of non-masked set actions. 2015-03-03 14:38:57 -05:00
flow_netlink.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
flow_table.c openvswitch: Initialize unmasked key and uid len 2015-02-08 00:51:14 -08:00
flow_table.h openvswitch: Add support for unique flow IDs. 2015-01-26 15:45:50 -08:00
vport-geneve.c openvswitch: Add support for checksums on UDP tunnels. 2015-01-28 23:04:15 -08:00
vport-gre.c openvswitch: Introduce ovs_tunnel_route_lookup 2015-01-14 16:32:06 -05:00
vport-internal_dev.c openvswitch: Drop packets when interdev is not up 2014-11-05 23:52:35 -08:00
vport-internal_dev.h openvswitch: introduce rtnl ops stub 2014-07-01 14:40:17 -07:00
vport-netdev.c openvswitch: Constify various function arguments 2014-11-09 18:58:44 -08:00
vport-netdev.h ovs: Turn vports with dependencies into separate modules 2014-10-28 14:43:18 -04:00
vport-vxlan.c openvswitch: Only set TUNNEL_VXLAN_OPT if VXLAN-GBP metadata is set 2015-02-09 14:25:52 -08:00
vport-vxlan.h openvswitch: Support VXLAN Group Policy extension 2015-01-15 01:11:41 -05:00
vport.c openvswitch: Return vport module ref before destruction 2015-03-31 15:59:50 -04:00
vport.h openvswitch: Fix net exit. 2015-02-20 15:32:08 -05:00