[PATCH] arm: ftrace: fix dynamic ftrace with DEBUG_RODATA and !FRAME_POINTER

Rabin Vincent rabin at rab.in
Sat Mar 18 11:33:23 PDT 2017


On Wed, Mar 15, 2017 at 06:07:39PM +0000, Abel Vesa wrote:
> The support for dynamic ftrace with CONFIG_DEBUG_RODATA involves
> overriding the weak arch_ftrace_update_code() with a variant which makes
> the kernel text writable around the patching.
> 
> This override was however added under the CONFIG_OLD_MCOUNT ifdef, and
> CONFIG_OLD_MCOUNT is only enabled if frame pointers are enabled.
> 
> This leads to non-functional dynamic ftrace (ftrace triggers a
> WARN_ON()) when CONFIG_DEBUG_RODATA is enabled and CONFIG_FRAME_POINTER
> is not.
> 
> Move the override out of that ifdef and into the CONFIG_DYNAMIC_FTRACE
> ifdef where it belongs.
> 
> Fixes: 80d6b0c2eed2a ("ARM: mm: allow text and rodata sections to be read-only")
> 
> Suggested-by: Nicolai Stange <nicstange at gmail.com>
> Suggested-by: Rabin Vincent <rabin at rab.in>
> Signed-off-by: Abel Vesa <abelvesa at linux.com>

Acked-by: Rabin Vincent <rabin at rab.in>



More information about the linux-arm-kernel mailing list