]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd: dont crash when mtu changes (#6594)
authorAndrew Jeddeloh <andrewjeddeloh@gmail.com>
Thu, 31 Aug 2017 08:58:39 +0000 (01:58 -0700)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Aug 2017 08:58:39 +0000 (10:58 +0200)
Prevent networkd from crashing when UseMTU is used. Many drivers will
bring the link down and then back up to configure a new MTU. Networkd
will also asynchonously send rtnl messages to configure the link and may
receive responses after the link has gone down and come back up (which
networkd will handle and set the lease and network to NULL.

This changes the behavior to instead return if this is the case instead
of crashing via assert.

src/network/networkd-dhcp4.c

index 9229b5753c7a867e3223bd3c620e7b3afe9e3458..77771688e139f8d62892c6d004fca2f81052389e 100644 (file)
@@ -71,8 +71,12 @@ static int link_set_dhcp_routes(Link *link) {
         int r, n, i;
 
         assert(link);
-        assert(link->dhcp_lease);
-        assert(link->network);
+
+        if (!link->dhcp_lease) /* link went down while we configured the IP addresses? */
+                return 0;
+
+        if (!link->network) /* link went down while we configured the IP addresses? */
+                return 0;
 
         if (!link->network->dhcp_use_routes)
                 return 0;