As we need a const char * as a result of get_filename_for_perf_kvm(), There is no need to use strdup() for the return value.
This patch drop the strdup() to save memory in get_filename_for_perf_kvm(). Signed-off-by: Dongsheng Yang <yangds.f...@cn.fujitsu.com> --- tools/perf/builtin-kvm.c | 8 +------- tools/perf/util/util.c | 6 +++--- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index c6fa3cb..03bd946 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c @@ -1712,15 +1712,9 @@ int cmd_kvm(int argc, const char **argv, const char *prefix __maybe_unused) if (!perf_host) perf_guest = 1; - if (!file_name) { + if (!file_name) file_name = get_filename_for_perf_kvm(); - if (!file_name) { - pr_err("Failed to allocate memory for filename\n"); - return -ENOMEM; - } - } - if (!strncmp(argv[0], "rec", 3)) return __cmd_record(file_name, argc, argv); else if (!strncmp(argv[0], "rep", 3)) diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 4a57609..e9cb136 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c @@ -488,11 +488,11 @@ const char *get_filename_for_perf_kvm(void) const char *filename; if (perf_host && !perf_guest) - filename = strdup("perf.data.host"); + filename = "perf.data.host"; else if (!perf_host && perf_guest) - filename = strdup("perf.data.guest"); + filename = "perf.data.guest"; else - filename = strdup("perf.data.kvm"); + filename = "perf.data.kvm"; return filename; } -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/