-
- Downloads
module: check for exit sections in layout_sections() instead of module_init_section()
Previously, when CONFIG_MODULE_UNLOAD=n, the module loader just does not attempt to load exit sections since it never expects that any code in those sections will ever execute. However, dynamic code patching (alternatives, jump_label and static_call) can have sites in __exit code, even if __exit is never executed. Therefore __exit must be present at runtime, at least for as long as __init code is. Commit 33121347 ("module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD") solves the requirements of jump_labels and static_calls by putting the exit sections in the init region of the module so that they are at least present at init, and discarded afterwards. It does this by including a check for exit sections in module_init_section(), so that it also returns true for exit sections, and the module loader will automatically sort them in the init region of the module. However, the solution there was not completely arch-independent. ARM is a special case where it supplies its own module_{init, exit}_section() functions. Instead of pushing the exit section checks into module_init_section(), just implement the exit section check in layout_sections(), so that we don't have to touch arch-dependent code. Fixes: 33121347 ("module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD") Reviewed-by:Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by:
Jessica Yu <jeyu@kernel.org>
Loading
-
mentioned in commit 1cb79e7e
-
mentioned in commit 207e228b
-
mentioned in commit 8d99105d
-
mentioned in commit ecd62c85
-
mentioned in commit df342720
-
mentioned in commit b59cfee8
-
mentioned in commit 497c955a
-
mentioned in commit c8cb94aa
-
mentioned in commit 5e2e1e02
-
mentioned in commit e4ec5ed8
-
mentioned in commit 8057a687
-
mentioned in commit ae601dd9
-
mentioned in commit 111f9836
-
mentioned in commit 3e82108b
-
mentioned in commit c1c17c76
Please register or sign in to comment