From: Yu Watanabe Date: Mon, 4 Mar 2019 03:01:26 +0000 (+0900) Subject: network: always drop configs when interface is renamed X-Git-Tag: v242-rc1~198^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30de2b89d125a8692c22579ef805b03f2054b30b;p=thirdparty%2Fsystemd.git network: always drop configs when interface is renamed Before the renaming, wrong .network file may be assigned to the link. So, let's always drop link configuration. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 1738a0d944a..a5d4ede3744 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -3767,20 +3767,14 @@ int link_update(Link *link, sd_netlink_message *m) { r = sd_netlink_message_read_string(m, IFLA_IFNAME, &ifname); if (r >= 0 && !streq(ifname, link->ifname)) { - log_link_info(link, "Interface name change detected, %s has been renamed to %s.", link->ifname, ifname); + Manager *manager = link->manager; - if (link->state == LINK_STATE_PENDING) { - r = free_and_strdup(&link->ifname, ifname); - if (r < 0) - return r; - } else { - Manager *manager = link->manager; + log_link_info(link, "Interface name change detected, %s has been renamed to %s.", link->ifname, ifname); - link_drop(link); - r = link_add(manager, m, &link); - if (r < 0) - return r; - } + link_drop(link); + r = link_add(manager, m, &link); + if (r < 0) + return r; } r = sd_netlink_message_read_u32(m, IFLA_MTU, &mtu);