]> git.baikalelectronics.ru Git - kernel.git/commitdiff
module: Remove set_all_modules_text_*()
authorPeter Zijlstra <peterz@infradead.org>
Tue, 15 Oct 2019 19:07:31 +0000 (21:07 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 27 Nov 2019 06:44:25 +0000 (07:44 +0100)
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.

Tested-by: Alexei Starovoitov <ast@kernel.org>
Tested-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Greentime Hu <green.hu@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Jessica Yu <jeyu@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vincent Chen <deanbo422@gmail.com>
Link: https://lkml.kernel.org/r/20191111132458.284298307@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/nds32/kernel/ftrace.c
include/linux/module.h
kernel/module.c

index fd2a54b8cd5733f8ce64455bdf8762bd8a3a8251..22ab77ea27ad37114925f41a964af15a0d04ac0c 100644 (file)
@@ -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;
index 6d20895e7739198609531a27814a6309b613dda6..daae8470504020b97094a5f3ed9c08f13eedc1fc 100644 (file)
@@ -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
index acf7962936c47f714805408cf556c2ece94dcbc7..5cd9bed595f406f0f03448b6a3a842dd08f31594 100644 (file)
@@ -2029,49 +2029,6 @@ static void module_enable_nx(const struct module *mod)
        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 */