summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel
diff options
context:
space:
mode:
authorLinus Torvalds2015-01-22 19:40:36 +0100
committerLinus Torvalds2015-01-22 19:40:36 +0100
commit193934123c84fa168d0326aa6ab8d58cd173b32a (patch)
tree1e2d93840c4e0c49e327d4493913e6c9db861c87 /arch/ia64/kernel
parentMerge tag 'trace-sh-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/ro... (diff)
parentmodule: make module_refcount() a signed integer. (diff)
downloadkernel-qcow2-linux-193934123c84fa168d0326aa6ab8d58cd173b32a.tar.gz
kernel-qcow2-linux-193934123c84fa168d0326aa6ab8d58cd173b32a.tar.xz
kernel-qcow2-linux-193934123c84fa168d0326aa6ab8d58cd173b32a.zip
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module and param fixes from Rusty Russell: "Surprising number of fixes this merge window :( The first two are minor fallout from the param rework which went in this merge window. The next three are a series which fixes a longstanding (but never previously reported and unlikely , so no CC stable) race between kallsyms and freeing the init section. Finally, a minor cleanup as our module refcount will now be -1 during unload" * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: module: make module_refcount() a signed integer. module: fix race in kallsyms resolution during module load success. module: remove mod arg from module_free, rename module_memfree(). module_arch_freeing_init(): new hook for archs before module->module_init freed. param: fix uninitialized read with CONFIG_DEBUG_LOCK_ALLOC param: initialize store function to NULL if not available.
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r--arch/ia64/kernel/module.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c
index 24603be24c14..29754aae5177 100644
--- a/arch/ia64/kernel/module.c
+++ b/arch/ia64/kernel/module.c
@@ -305,14 +305,12 @@ plt_target (struct plt_entry *plt)
#endif /* !USE_BRL */
void
-module_free (struct module *mod, void *module_region)
+module_arch_freeing_init (struct module *mod)
{
- if (mod && mod->arch.init_unw_table &&
- module_region == mod->module_init) {
+ if (mod->arch.init_unw_table) {
unw_remove_unwind_table(mod->arch.init_unw_table);
mod->arch.init_unw_table = NULL;
}
- vfree(module_region);
}
/* Have we already seen one of these relocations? */