Re: [PATCHv3 2/7] sections: split dereference_function_descriptor()

From: Sergey Senozhatsky
Date: Thu Oct 19 2017 - 02:45:54 EST


On (10/04/17 11:00), Petr Mladek wrote:
[..]
> > /* 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