Messages in this thread | | | Date | Thu, 11 Jan 2024 14:17:10 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH net v3 1/1] net: phylink: Add module_exit() |
| |
> Hi Andrew, > > Regarding the justification on why it is safe to remove phylink, > we had done some memory leak check when unloading the phylink module. > > root@localhost:~# lsmod | grep "phylink" > phylink 73728 0 > root@localhost:~# rmmod phylink > root@localhost:~# echo scan > /sys/kernel/debug/kmemleak > root@localhost:~# cat /sys/kernel/debug/kmemleak > root@localhost:~# > > So far, we didn't observe any memory leaking happened when unloading > phylink module. Is it sufficient or do you have any other suggestions to check > on whether the module is safe to remove?
In general, leaked memory is safe. Being leaked, nothing is using it. If nothing is using it, how can it cause an opps, corrupt a file system, etc.
What you need to do is review all users of phylink, and determine if any of them retains a pointer to anything which phylink manages and will not be freed or uninitialized when it is unloaded. Is all polling of GPIOs cleanly stopped? Are interrupt handlers disabled and removed. Are PCS and MAC drivers cleanly unloaded first? Are hwmon entries cleanly removed, taking into account that user space might have them open? All ethtool ioctl/netlink calls are out of the code before it is removed, etc.
Andrew
| |