From e04468dec04a968c523ee09da7d2163a1d1a5a15 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Mon, 7 Jul 2014 14:18:26 +0200 Subject: [PATCH] networkd: netdev - add missing refs Without this, the underlying device would get freed (and hence fail). --- src/network/networkd-macvlan.c | 2 ++ src/network/networkd-tunnel.c | 2 ++ src/network/networkd-vlan.c | 2 ++ src/network/networkd-vxlan.c | 2 ++ 4 files changed, 8 insertions(+) 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)); -- 2.30.2