[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1476980293-19062-3-git-send-email-atomlin@redhat.com>
Date: Thu, 20 Oct 2016 17:18:13 +0100
From: Aaron Tomlin <atomlin@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: rusty@...tcorp.com.au, rostedt@...dmis.org
Subject: [RFC PATCH 2/2] module: When modifying a module's text ignore modules which are going away too
By default, during the access permission modification of a module's core
and init pages, we only ignore modules that are malformed. There is no
reason not to extend this to modules which are going away too.
This patch makes both set_all_modules_text_rw() and
set_all_modules_text_ro() skip modules which are going away too.
Signed-off-by: Aaron Tomlin <atomlin@...hat.com>
---
kernel/module.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/module.c b/kernel/module.c
index ff93ab8..09c386b 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -1953,7 +1953,8 @@ void set_all_modules_text_rw(void)
mutex_lock(&module_mutex);
list_for_each_entry_rcu(mod, &modules, list) {
- if (mod->state == MODULE_STATE_UNFORMED)
+ if (mod->state == MODULE_STATE_UNFORMED ||
+ mod->state == MODULE_STATE_GOING)
continue;
frob_text(&mod->core_layout, set_memory_rw);
@@ -1969,7 +1970,8 @@ void set_all_modules_text_ro(void)
mutex_lock(&module_mutex);
list_for_each_entry_rcu(mod, &modules, list) {
- if (mod->state == MODULE_STATE_UNFORMED)
+ if (mod->state == MODULE_STATE_UNFORMED ||
+ mod->state == MODULE_STATE_GOING)
continue;
frob_text(&mod->core_layout, set_memory_ro);
--
2.5.5
Powered by blists - more mailing lists