summaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 5225c6709..e367a747c 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -288,10 +288,6 @@ sys_init_module(const char *name_user, struct module *mod_user)
goto err3;
}
- /* On some machines it is necessary to do something here
- to make the I and D caches consistent. */
- flush_icache_range((unsigned long)mod, (unsigned long)mod + mod->size);
-
/* Ok, that's about all the sanity we can stomach; copy the rest. */
if (copy_from_user(mod+1, mod_user+1, mod->size-sizeof(*mod))) {
@@ -299,6 +295,10 @@ sys_init_module(const char *name_user, struct module *mod_user)
goto err3;
}
+ /* On some machines it is necessary to do something here
+ to make the I and D caches consistent. */
+ flush_icache_range((unsigned long)mod, (unsigned long)mod + mod->size);
+
/* Update module references. */
mod->next = mod_tmp.next;
mod->refs = NULL;