Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c84fd53 authored by Namhyung Kim's avatar Namhyung Kim Committed by Arnaldo Carvalho de Melo
Browse files

perf annotate: Use dso__decompress_kmodule_path()



Convert open-coded decompress routine to use the function.

Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20170608073109.30699-5-namhyung@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 42b3fa67
Loading
Loading
Loading
Loading
+3 −24
Original line number Original line Diff line number Diff line
@@ -1431,31 +1431,10 @@ int symbol__disassemble(struct symbol *sym, struct map *map, const char *arch_na
				sizeof(symfs_filename));
				sizeof(symfs_filename));
		}
		}
	} else if (dso__needs_decompress(dso)) {
	} else if (dso__needs_decompress(dso)) {
		char tmp[PATH_MAX];
		char tmp[KMOD_DECOMP_LEN];
		struct kmod_path m;
		int fd;
		bool ret;


		if (kmod_path__parse_ext(&m, symfs_filename))
		if (dso__decompress_kmodule_path(dso, symfs_filename,
			goto out;
						 tmp, sizeof(tmp)) < 0)

		snprintf(tmp, PATH_MAX, "/tmp/perf-kmod-XXXXXX");

		fd = mkstemp(tmp);
		if (fd < 0) {
			free(m.ext);
			goto out;
		}

		ret = decompress_to_file(m.ext, symfs_filename, fd);

		if (ret)
			pr_err("Cannot decompress %s %s\n", m.ext, symfs_filename);

		free(m.ext);
		close(fd);

		if (!ret)
			goto out;
			goto out;


		strcpy(symfs_filename, tmp);
		strcpy(symfs_filename, tmp);