From: Tom Gundersen Date: Mon, 7 Jul 2014 12:18:26 +0000 (+0200) Subject: networkd: netdev - add missing refs X-Git-Tag: v216~751 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e04468dec04a968c523ee09da7d2163a1d1a5a15;p=thirdparty%2Fsystemd.git networkd: netdev - add missing refs Without this, the underlying device would get freed (and hence fail). --- diff --git a/src/network/networkd-macvlan.c b/src/network/networkd-macvlan.c index 92271445312..7c234264ace 100644 --- a/src/network/networkd-macvlan.c +++ b/src/network/networkd-macvlan.c @@ -150,6 +150,8 @@ int netdev_create_macvlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t return r; } + link_ref(link); + log_debug_netdev(netdev, "creating netdev"); netdev->state = NETDEV_STATE_CREATING; diff --git a/src/network/networkd-tunnel.c b/src/network/networkd-tunnel.c index 73414877954..5a244f61b00 100644 --- a/src/network/networkd-tunnel.c +++ b/src/network/networkd-tunnel.c @@ -529,6 +529,8 @@ int netdev_create_tunnel(NetDev *netdev, Link *link, sd_rtnl_message_handler_t c return r; } + link_ref(link); + log_debug_netdev(netdev, "Creating tunnel netdev: %s", netdev_kind_to_string(netdev->kind)); diff --git a/src/network/networkd-vlan.c b/src/network/networkd-vlan.c index 1d812fdcaa7..8727b9f103d 100644 --- a/src/network/networkd-vlan.c +++ b/src/network/networkd-vlan.c @@ -139,6 +139,8 @@ int netdev_create_vlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t cal return r; } + link_ref(link); + log_debug_netdev(netdev, "creating netdev"); netdev->state = NETDEV_STATE_CREATING; diff --git a/src/network/networkd-vxlan.c b/src/network/networkd-vxlan.c index 8832024ef1f..160459450de 100644 --- a/src/network/networkd-vxlan.c +++ b/src/network/networkd-vxlan.c @@ -154,6 +154,8 @@ int netdev_create_vxlan(NetDev *netdev, Link *link, sd_rtnl_message_handler_t ca return r; } + link_ref(link); + log_debug_netdev(netdev, "Creating vxlan netdev: %s", netdev_kind_to_string(netdev->kind));