diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-05-03 01:13:10 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-05-03 01:14:36 +0200 |
commit | b9ea3d2e47b3741f3f46ba9c5e19640136933b71 (patch) | |
tree | 717fd7a9a7ce6d56b98642bb532fe038d3cca2e5 | |
parent | 64538af89b4fe72658d7b33e2022d06805badb14 (diff) | |
download | systemd-b9ea3d2e47b3741f3f46ba9c5e19640136933b71.tar.gz |
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.
-rw-r--r-- | src/network/networkd-link.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 3e22efb92a..c56b4dfceb 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); |