From: Yu Watanabe Date: Thu, 2 May 2019 23:13:10 +0000 (+0200) Subject: network: fix assertion when link get carrier X-Git-Tag: v243-rc1~489^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12466%2Fhead;p=thirdparty%2Fsystemd.git network: fix assertion when link get carrier This fixes a bug introduced by bd08ce56156751d58584a44e766ef61340cdae2d. When link is in LINK_STATE_INITIALIZED, `Link::network` may not be set yet. Fixes #12452. --- diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 3e22efb92a6..c56b4dfceb3 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -3734,7 +3734,7 @@ int link_ipv6ll_gained(Link *link, const struct in6_addr *address) { link->ipv6ll_address = *address; link_check_ready(link); - if (!IN_SET(link->state, LINK_STATE_PENDING, LINK_STATE_UNMANAGED, LINK_STATE_FAILED)) { + if (IN_SET(link->state, LINK_STATE_CONFIGURING, LINK_STATE_CONFIGURED)) { r = link_acquire_ipv6_conf(link); if (r < 0) { link_enter_failed(link); @@ -3750,7 +3750,7 @@ static int link_carrier_gained(Link *link) { assert(link); - if (!IN_SET(link->state, LINK_STATE_PENDING, LINK_STATE_UNMANAGED, LINK_STATE_FAILED)) { + if (IN_SET(link->state, LINK_STATE_CONFIGURING, LINK_STATE_CONFIGURED)) { r = link_acquire_conf(link); if (r < 0) { link_enter_failed(link);