Re: [PATCH net-next 6/6] net: marvell: prestera: Implement initial inetaddr notifiers

From: Yevhen Orlov
Date: Mon Dec 20 2021 - 23:32:18 EST


On Fri, Dec 17, 2021 at 01:03:25PM -0800, Stephen Hemminger wrote:
> How are these device references cleaned up on module removal?

Removing the module removes the port, and clears all addresses:

__prestera_inetaddr_event.part.0+0x190/0x3b0 [prestera]
__prestera_inetaddr_cb+0x94/0xb0 [prestera]
blocking_notifier_call_chain+0x98/0xd0
__inet_del_ifa+0x2e4/0x4e0
inetdev_event+0x260/0xa20
raw_notifier_call_chain+0x74/0xa0
call_netdevice_notifiers_info+0x68/0xc0
unregister_netdevice_many+0x4f4/0xa20
unregister_netdevice_queue+0x13c/0x180
unregister_netdev+0x24/0x40
prestera_port_destroy+0x44/0xe0 [prestera]
prestera_device_unregister+0x6c/0x110 [prestera]
prestera_pci_remove+0x28/0x80 [prestera_pci]
pci_device_remove+0x68/0x130
__device_release_driver+0x228/0x320
driver_detach+0x12c/0x1c0
bus_remove_driver+0x88/0x120
driver_unregister+0x44/0x80
pci_unregister_driver+0x2c/0xe0
prestera_pci_driver_exit+0x18/0x30 [prestera_pci]
__arm64_sys_delete_module+0x20c/0x310
invoke_syscall+0x60/0x190