diff options
Diffstat (limited to 'target/linux/generic/patches-4.0')
-rw-r--r-- | target/linux/generic/patches-4.0/305-mips_module_reloc.patch | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/target/linux/generic/patches-4.0/305-mips_module_reloc.patch b/target/linux/generic/patches-4.0/305-mips_module_reloc.patch index 87c205c7db..8b3975fe09 100644 --- a/target/linux/generic/patches-4.0/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-4.0/305-mips_module_reloc.patch @@ -316,7 +316,7 @@ return 0; } -@@ -287,11 +528,32 @@ int module_finalize(const Elf_Ehdr *hdr, +@@ -287,9 +528,33 @@ int module_finalize(const Elf_Ehdr *hdr, list_add(&me->arch.dbe_list, &dbe_list); spin_unlock_irq(&dbe_lock); } @@ -335,8 +335,8 @@ return 0; } - void module_arch_cleanup(struct module *mod) - { ++void module_arch_freeing_init(struct module *mod) ++{ + if (mod->arch.phys_plt_tbl) { + __module_free(mod->arch.phys_plt_tbl); + mod->arch.phys_plt_tbl = NULL; @@ -345,7 +345,8 @@ + __module_free(mod->arch.virt_plt_tbl); + mod->arch.virt_plt_tbl = NULL; + } ++} + + void module_arch_cleanup(struct module *mod) + { spin_lock_irq(&dbe_lock); - list_del(&mod->arch.dbe_list); - spin_unlock_irq(&dbe_lock); |