From 919c8489132c079c964c518ead42fda86823510f Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Fri, 17 Mar 2017 23:30:43 +0100 Subject: [PATCH] manager: ensure proper disposal of unrealized devices 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 (cherry picked from commit 2e0c3d1dacfa06fad0062d272fc77ecc34ba4576) (cherry picked from commit 427a3e5cff1bf852c17ef2b359676d037bd58f67) (cherry picked from commit f0eb192d8c8fcb64b49476edf79f8769cfa225a7) --- src/nm-manager.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c index caf0a0e..1e796a8 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -990,7 +990,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); -- 2.7.4