In the teardown version, when the original functions are put back, do we run the risk of putting back functions from another module that have also been unloaded?
eg:
load A
load B
unload A
unload B
The Unload B operation may be putting back hooks that were installed by A when it was loaded first.
Unloading modules is often very challenging to get correct. Does grub actually *need* this functionality? It might be better to just pave over the functionality and prevent dangling pointers to functions by just never allowing the functions to be unmapped.
In the teardown version, when the original functions are put back, do we run the risk of putting back functions from another module that have also been unloaded?
eg:
load A
load B
unload A
unload B
The Unload B operation may be putting back hooks that were installed by A when it was loaded first.
Unloading modules is often very challenging to get correct. Does grub actually *need* this functionality? It might be better to just pave over the functionality and prevent dangling pointers to functions by just never allowing the functions to be unmapped.
Thanks