summaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-08-23 11:12:08 -0700
committerDavid S. Miller <davem@davemloft.net>2014-08-23 11:12:08 -0700
commitf9474ddfaa009ead12bba44fa8fd49dc4536a124 (patch)
treea1738a74ac909d84cc80af674d7c0b78af10a413 /kernel/module.c
parent989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c (diff)
parenta45e92a599e77ee6a850eabdd0141633fde03915 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pulling to get some TIPC fixes that a net-next series depends upon. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 6f69463f006..03214bd288e 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -3304,6 +3304,11 @@ static int load_module(struct load_info *info, const char __user *uargs,
mutex_lock(&module_mutex);
module_bug_cleanup(mod);
mutex_unlock(&module_mutex);
+
+ /* we can't deallocate the module until we clear memory protection */
+ unset_module_init_ro_nx(mod);
+ unset_module_core_ro_nx(mod);
+
ddebug_cleanup:
dynamic_debug_remove(info->debug);
synchronize_sched();