Re: [PATCH 1/2] perf tools: Decompress kernel module when reading DSO data
From: Jiri Olsa
Date: Thu Jun 01 2017 - 07:30:02 EST
On Thu, Jun 01, 2017 at 06:06:04PM +0900, Namhyung Kim wrote:
SNIP
> - }
> -
> - unlink(tmpbuf);
> -
> -out:
> - free(m.ext);
> - return fd;
> -}
> -
> bool symsrc__possibly_runtime(struct symsrc *ss)
> {
> return ss->dynsym || ss->opdsec;
> @@ -702,9 +668,13 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
> int fd;
>
> if (dso__needs_decompress(dso)) {
> - fd = decompress_kmodule(dso, name, type);
> + char buf[32];
> +
> + fd = dso__decompress_kmodule(dso, name, buf, sizeof(buf));
> if (fd < 0)
> return -1;
> +
> + unlink(buf);
I wonder we could make this more clear and add:
dso__decompress_kmodule_fd
dso__decompress_kmodule_path
_fd version would remove the file and _path version would close the descriptor
in any case, could you please split the change so the
changes to decompress_kmodule are apparent?
thanks,
jirka