• Masami Hiramatsu's avatar
    perf probe: Fix to probe an inline function which has no entry pc · 104666b6
    Masami Hiramatsu authored
    [ Upstream commit eb6933b2 ]
    
    Fix perf probe to probe an inlne function which has no entry pc
    or low pc but only has ranges attribute.
    
    This seems very rare case, but I could find a few examples, as
    same as probe_point_search_cb(), use die_entrypc() to get the
    entry address in probe_point_inline_cb() too.
    
    Without this patch:
    
      # perf probe -D __amd_put_nb_event_constraints
      Failed to get entry address of __amd_put_nb_event_constraints.
      Probe point '__amd_put_nb_event_constraints' not found.
        Error: Failed to add events.
    
    With this patch:
    
      # perf probe -D __amd_put_nb_event_constraints
      p:probe/__amd_put_nb_event_constraints amd_put_event_constraints+43
    
    Committer testing:
    
    Before:
    
      [root@quaco ~]# perf probe -D __amd_put_nb_event_constraints
      Failed to get entry address of __amd_put_nb_event_constraints.
      Probe point '__amd_put_nb_event_constraints' not found.
        Error: Failed to add events.
      [root@quaco ~]#
    
    After:
    
      [root@quaco ~]# perf probe -D __amd_put_nb_event_constraints
      p:probe/__amd_put_nb_event_constraints _text+33789
      [root@quaco ~]#
    
    Fixes: 4ea42b18 ("perf: Add perf probe subcommand, a kprobe-event setup helper")
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lore.kernel.org/lkml/157199320336.8075.16189530425277588587.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    104666b6
probe-finder.c 46.4 KB