Re: [PATCH 1/2] perf tools: Decompress kernel module when reading DSO data

From: Namhyung Kim
Date: Fri Jun 02 2017 - 21:44:09 EST


On Thu, Jun 1, 2017 at 8:29 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> 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?

Will do.

Thanks,
Namhyung