• Michael Ellerman's avatar
    powerpc/ftrace: Fix inverted check of create_branch() · b7b348c6
    Michael Ellerman authored
    In commit 24a1bdc3, "Fix ABIv2 issues with __ftrace_make_call", Anton
    changed the logic that creates and patches the branch, and added a
    thinko in the check of create_branch(). create_branch() returns the
    instruction that was generated, so if we get zero then it succeeded.
    
    The result is we can't ftrace modules:
    
      Branch out of range
      WARNING: at ../kernel/trace/ftrace.c:1638
      ftrace failed to modify [<d000000004ba001c>] fuse_req_init_context+0x1c/0x90 [fuse]
    
    We should probably fix patch_instruction() to do that check and make the
    API saner, but that's a separate patch. For now just invert the test.
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    b7b348c6
ftrace.c 13.7 KB