Now that there are no users of set_all_modules_text_*() left, remove
it.

While it appears nds32 uses it, it does not have STRICT_MODULE_RWX and
therefore ends up with the NOP stubs.

Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Jessica Yu <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Vincent Chen <[email protected]>
---
 arch/nds32/kernel/ftrace.c |   12 ------------
 include/linux/module.h     |    4 ----
 kernel/module.c            |   43 -------------------------------------------
 3 files changed, 59 deletions(-)

--- a/arch/nds32/kernel/ftrace.c
+++ b/arch/nds32/kernel/ftrace.c
@@ -89,18 +89,6 @@ int __init ftrace_dyn_arch_init(void)
        return 0;
 }
 
-int ftrace_arch_code_modify_prepare(void)
-{
-       set_all_modules_text_rw();
-       return 0;
-}
-
-int ftrace_arch_code_modify_post_process(void)
-{
-       set_all_modules_text_ro();
-       return 0;
-}
-
 static unsigned long gen_sethi_insn(unsigned long addr)
 {
        unsigned long opcode = 0x46000000;
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -846,13 +846,9 @@ extern int module_sysfs_initialized;
 #define __MODULE_STRING(x) __stringify(x)
 
 #ifdef CONFIG_STRICT_MODULE_RWX
-extern void set_all_modules_text_rw(void);
-extern void set_all_modules_text_ro(void);
 extern void module_enable_ro(const struct module *mod, bool after_init);
 extern void module_disable_ro(const struct module *mod);
 #else
-static inline void set_all_modules_text_rw(void) { }
-static inline void set_all_modules_text_ro(void) { }
 static inline void module_enable_ro(const struct module *mod, bool after_init) 
{ }
 static inline void module_disable_ro(const struct module *mod) { }
 #endif
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2029,49 +2029,6 @@ static void module_enable_nx(const struc
        frob_writable_data(&mod->init_layout, set_memory_nx);
 }
 
-/* Iterate through all modules and set each module's text as RW */
-void set_all_modules_text_rw(void)
-{
-       struct module *mod;
-
-       if (!rodata_enabled)
-               return;
-
-       mutex_lock(&module_mutex);
-       list_for_each_entry_rcu(mod, &modules, list) {
-               if (mod->state == MODULE_STATE_UNFORMED)
-                       continue;
-
-               frob_text(&mod->core_layout, set_memory_rw);
-               frob_text(&mod->init_layout, set_memory_rw);
-       }
-       mutex_unlock(&module_mutex);
-}
-
-/* Iterate through all modules and set each module's text as RO */
-void set_all_modules_text_ro(void)
-{
-       struct module *mod;
-
-       if (!rodata_enabled)
-               return;
-
-       mutex_lock(&module_mutex);
-       list_for_each_entry_rcu(mod, &modules, list) {
-               /*
-                * Ignore going modules since it's possible that ro
-                * protection has already been disabled, otherwise we'll
-                * run into protection faults at module deallocation.
-                */
-               if (mod->state == MODULE_STATE_UNFORMED ||
-                       mod->state == MODULE_STATE_GOING)
-                       continue;
-
-               frob_text(&mod->core_layout, set_memory_ro);
-               frob_text(&mod->init_layout, set_memory_ro);
-       }
-       mutex_unlock(&module_mutex);
-}
 #else /* !CONFIG_STRICT_MODULE_RWX */
 static void module_enable_nx(const struct module *mod) { }
 #endif /*  CONFIG_STRICT_MODULE_RWX */


Reply via email to