ARM: 9079/1: ftrace: Add MODULE_PLTS support
commit
79f32b221b18c15a98507b101ef4beb52444cc6f upstream
Teach ftrace_make_call() and ftrace_make_nop() about PLTs.
Teach PLT code about FTRACE and all its callbacks.
Otherwise the following might happen:
------------[ cut here ]------------
WARNING: CPU: 14 PID: 2265 at .../arch/arm/kernel/insn.c:14 __arm_gen_branch+0x83/0x8c()
...
Hardware name: LSI Axxia AXM55XX
[<
c0314a49>] (unwind_backtrace) from [<
c03115e9>] (show_stack+0x11/0x14)
[<
c03115e9>] (show_stack) from [<
c0519f51>] (dump_stack+0x81/0xa8)
[<
c0519f51>] (dump_stack) from [<
c032185d>] (warn_slowpath_common+0x69/0x90)
[<
c032185d>] (warn_slowpath_common) from [<
c03218f3>] (warn_slowpath_null+0x17/0x1c)
[<
c03218f3>] (warn_slowpath_null) from [<
c03143cf>] (__arm_gen_branch+0x83/0x8c)
[<
c03143cf>] (__arm_gen_branch) from [<
c0314337>] (ftrace_make_nop+0xf/0x24)
[<
c0314337>] (ftrace_make_nop) from [<
c038ebcb>] (ftrace_process_locs+0x27b/0x3e8)
[<
c038ebcb>] (ftrace_process_locs) from [<
c0378d79>] (load_module+0x11e9/0x1a44)
[<
c0378d79>] (load_module) from [<
c037974d>] (SyS_finit_module+0x59/0x84)
[<
c037974d>] (SyS_finit_module) from [<
c030e981>] (ret_fast_syscall+0x1/0x18)
---[ end trace
e1b64ced7a89adcc ]---
------------[ cut here ]------------
WARNING: CPU: 14 PID: 2265 at .../kernel/trace/ftrace.c:1979 ftrace_bug+0x1b1/0x234()
...
Hardware name: LSI Axxia AXM55XX
[<
c0314a49>] (unwind_backtrace) from [<
c03115e9>] (show_stack+0x11/0x14)
[<
c03115e9>] (show_stack) from [<
c0519f51>] (dump_stack+0x81/0xa8)
[<
c0519f51>] (dump_stack) from [<
c032185d>] (warn_slowpath_common+0x69/0x90)
[<
c032185d>] (warn_slowpath_common) from [<
c03218f3>] (warn_slowpath_null+0x17/0x1c)
[<
c03218f3>] (warn_slowpath_null) from [<
c038e87d>] (ftrace_bug+0x1b1/0x234)
[<
c038e87d>] (ftrace_bug) from [<
c038ebd5>] (ftrace_process_locs+0x285/0x3e8)
[<
c038ebd5>] (ftrace_process_locs) from [<
c0378d79>] (load_module+0x11e9/0x1a44)
[<
c0378d79>] (load_module) from [<
c037974d>] (SyS_finit_module+0x59/0x84)
[<
c037974d>] (SyS_finit_module) from [<
c030e981>] (ret_fast_syscall+0x1/0x18)
---[ end trace
e1b64ced7a89adcd ]---
ftrace failed to modify [<
e9ef7006>] 0xe9ef7006
actual: 02:f0:3b:fa
ftrace record flags: 0
(0) expected tramp:
c0314265
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>