From: Michael Brown Date: Thu, 25 Oct 2012 05:44:00 +0000 (-0700) Subject: [netdevice] Clear network device setting before unregistering X-Git-Tag: v1.20.1~1612 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=88e19fcda95fa1ea59d262898001207c4406eb6d;p=thirdparty%2Fipxe.git [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 --- diff --git a/src/net/netdevice.c b/src/net/netdevice.c index bea067521..ec3456a93 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 */