summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-03-17 23:30:43 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2017-03-18 00:11:55 +0100
commit37ce22c49b126869418f888a05237084edee64db (patch)
tree802cb0dc2aea791c4c86fa63811e202b6d5899ea
parentb869d9cc0dda4fe5300f5ec5b5a090199ecd4e3e (diff)
downloadNetworkManager-bg/rh1433303.tar.gz
manager: ensure proper disposal of unrealized devicesbg/rh1433303
When remove_device() is called on an already unrealized device, we should release it from master if necessary and clear its IP configurations to avoid leaks. https://bugzilla.redhat.com/show_bug.cgi?id=1433303
-rw-r--r--src/nm-manager.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 1003ebbb99..0a9522f767 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -1070,7 +1070,12 @@ remove_device (NMManager *self,
g_signal_emit (self, signals[DEVICE_REMOVED], 0, device);
_notify (self, PROP_DEVICES);
+ } else {
+ /* unrealize() does not release a slave device from master and
+ * clear IP configurations, do it here */
+ nm_device_removed (device, TRUE);
}
+
g_signal_emit (self, signals[INTERNAL_DEVICE_REMOVED], 0, device);
_notify (self, PROP_ALL_DEVICES);