Re: [PATCH 01/12] powerpc/module: Only try to generate the ftrace_caller() stub once

From: Torsten Duwe
Date: Thu Feb 25 2016 - 08:08:47 EST


On Thu, Feb 25, 2016 at 01:28:24AM +1100, Michael Ellerman wrote:
> Currently we generate the module stub for ftrace_caller() at the bottom
> of apply_relocate_add(). However apply_relocate_add() is potentially
> called more than once per module, which means we will try to generate
> the ftrace_caller() stub multiple times.
>
> Although the current code deals with that correctly, ie. it only
> generates a stub the first time, it would be clearer to only try to
> generate the stub once.
>
> Note also on first reading it may appear that we generate a different
> stub for each section that requires relocation, but that is not the
> case. The code in stub_for_addr() that searches for an existing stub
> uses sechdrs[me->arch.stubs_section], ie. the single stub section for
> this module.
>
> A cleaner approach is to only generate the ftrace_caller() stub once,
> from module_finalize(). An additional benefit is we can clean the ifdefs
> up a little.
>
> Finally we must propagate the const'ness of some of the pointers passed
> to module_finalize(), but that is also an improvement.
>
> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>

Reviewed-by: Torsten Duwe <duwe@xxxxxxx>

Torsten