From 88e19fcda95fa1ea59d262898001207c4406eb6d Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 24 Oct 2012 22:44:00 -0700 Subject: [PATCH] [netdevice] Clear network device setting before unregistering Avoid memory leaks by clearing any (non-child) settings immediately before unregistering the network device settings block. Signed-off-by: Michael Brown --- src/net/netdevice.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/net/netdevice.c b/src/net/netdevice.c index bea06752..ec3456a9 100644 --- a/src/net/netdevice.c +++ b/src/net/netdevice.c @@ -486,6 +486,7 @@ int register_netdev ( struct net_device *netdev ) { err_probe: for_each_table_entry_continue_reverse ( driver, NET_DRIVERS ) driver->remove ( netdev ); + clear_settings ( netdev_settings ( netdev ) ); unregister_settings ( netdev_settings ( netdev ) ); err_register_settings: return rc; @@ -570,6 +571,7 @@ void unregister_netdev ( struct net_device *netdev ) { driver->remove ( netdev ); /* Unregister per-netdev configuration settings */ + clear_settings ( netdev_settings ( netdev ) ); unregister_settings ( netdev_settings ( netdev ) ); /* Remove from device list */