[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 <mcb30@ipxe.org>
This commit is contained in:
parent
34863a51c2
commit
88e19fcda9
|
@ -486,6 +486,7 @@ int register_netdev ( struct net_device *netdev ) {
|
||||||
err_probe:
|
err_probe:
|
||||||
for_each_table_entry_continue_reverse ( driver, NET_DRIVERS )
|
for_each_table_entry_continue_reverse ( driver, NET_DRIVERS )
|
||||||
driver->remove ( netdev );
|
driver->remove ( netdev );
|
||||||
|
clear_settings ( netdev_settings ( netdev ) );
|
||||||
unregister_settings ( netdev_settings ( netdev ) );
|
unregister_settings ( netdev_settings ( netdev ) );
|
||||||
err_register_settings:
|
err_register_settings:
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -570,6 +571,7 @@ void unregister_netdev ( struct net_device *netdev ) {
|
||||||
driver->remove ( netdev );
|
driver->remove ( netdev );
|
||||||
|
|
||||||
/* Unregister per-netdev configuration settings */
|
/* Unregister per-netdev configuration settings */
|
||||||
|
clear_settings ( netdev_settings ( netdev ) );
|
||||||
unregister_settings ( netdev_settings ( netdev ) );
|
unregister_settings ( netdev_settings ( netdev ) );
|
||||||
|
|
||||||
/* Remove from device list */
|
/* Remove from device list */
|
||||||
|
|
Reference in New Issue