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://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=e04468dec04a968c523ee09da7d2163a1d1a5a15;p=elogind.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 922714453..7c234264a 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 734148779..5a244f61b 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 1d812fdca..8727b9f10 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 8832024ef..160459450 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));