]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: add missing increment of Link::set_flags_messages
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 13 Jun 2021 19:32:21 +0000 (04:32 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 14 Jun 2021 18:58:59 +0000 (03:58 +0900)
link_up_or_down() will decrement the counter when the subsequent
RTM_GETLINK netlink method is finished. So, we need to increment
the counter here.

Fixes the issue mentioned at
https://github.com/systemd/systemd/issues/19832#issuecomment-860255692.

src/network/networkd-setlink.c

index 478591b5bb5d41cebaaa0a90cb5bf62514df5d8a..01a7b3139e07752295719d3174d16a70b04c2375 100644 (file)
@@ -864,7 +864,16 @@ static int link_up_or_down(Link *link, bool up, link_netlink_message_handler_t c
 }
 
 int link_down(Link *link) {
-        return link_up_or_down(link, false, link_down_handler);
+        int r;
+
+        assert(link);
+
+        r = link_up_or_down(link, false, link_down_handler);
+        if (r < 0)
+                return log_link_error_errno(link, r, "Failed to bring down interface: %m");
+
+        link->set_flags_messages++;
+        return 0;
 }
 
 static bool link_is_ready_to_activate(Link *link) {