[PATCH v2 5/7] perf kwork: Strdup function name in workqueue_work_init

From: Yang Jihong
Date: Fri Jul 29 2022 - 23:06:56 EST


perf_session has been deleted when report, maps data in session has been free,
we need to copy duplicate of workqueue function symbol for future use.

Signed-off-by: Yang Jihong <yangjihong1@xxxxxxxxxx>
---
tools/perf/builtin-kwork.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-kwork.c b/tools/perf/builtin-kwork.c
index d6c09044a929..33bcab2aafcd 100644
--- a/tools/perf/builtin-kwork.c
+++ b/tools/perf/builtin-kwork.c
@@ -1021,7 +1021,7 @@ static void workqueue_work_init(struct kwork_class *class,
work->cpu = sample->cpu;
work->id = evsel__intval(evsel, sample, "work");
work->name = function_addr == 0 ? NULL :
- machine__resolve_kernel_addr(machine, &function_addr, &modp);
+ strdup(machine__resolve_kernel_addr(machine, &function_addr, &modp));
}

static void workqueue_work_name(struct kwork_work *work, char *buf, int len)
--
2.30.GIT