On (10/04/17 11:00), Petr Mladek wrote:
[..]
quoted
/* random extra sections (if any). Override
diff --git a/include/linux/moduleloader.h b/include/linux/moduleloader.h
index 4d0cb9bba93e..172904e9cded 100644
--- a/include/linux/moduleloader.h
+++ b/include/linux/moduleloader.h
@@ -85,6 +85,10 @@ void module_arch_cleanup(struct module *mod);
/* Any cleanup before freeing mod->module_init */
void module_arch_freeing_init(struct module *mod);
+/* Dereference module function descriptor */
+unsigned long dereference_module_function_descriptor(struct module *mod,
+ unsigned long addr);
+
The function is used when the module is already loaded. IMHO,
include/linux/module.h would be a better place.
One advantage would be that we could use the same trick
as in include/asm-generic/sections.h. I mean:
#define dereference_module_function_descriptor(mod, addr) (addr)
and redefine it in the three affected
arch/<arch>/include/asm/module.h headers. Then it might be completely
optimized out on all architectures.
will take a look.
-ss