Messages in this thread | | | Date | Wed, 7 Jun 2017 19:23:05 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH v3 3/6] perf tools: Decompress kernel module when reading DSO data |
| |
Em Thu, Jun 08, 2017 at 12:39:00AM +0900, Namhyung Kim escreveu: > Currently perf decompresses kernel modules when loading symbol table but > it missed to do it when reading raw data. > > Signed-off-by: Namhyung Kim <namhyung@kernel.org> > --- > tools/perf/util/dso.c | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c > index 59257ce4580e..2a0c689227f8 100644 > --- a/tools/perf/util/dso.c > +++ b/tools/perf/util/dso.c > @@ -463,8 +463,22 @@ static int __open_dso(struct dso *dso, struct machine *machine) > return -EINVAL; > } > > - if (!is_regular_file(name)) > + if (!is_regular_file(name)) { > + free(name); > return -EINVAL; > + }
Humm, this looks like something for a separate patch? Its a pre-existing leak, separate issue.
That error path in __open_dso() could be consolidated, but the above hunk is the minimal fix for perf/urgent, where I think your series should go from what I've read so far, agreed?
- Arnaldo
> + > + if (dso__needs_decompress(dso)) { > + char newpath[KMOD_DECOMP_LEN]; > + size_t len = sizeof(newpath); > + > + if (dso__decompress_kmodule_path(dso, name, newpath, len) < 0) { > + free(name); > + return -1; > + } > + > + strcpy(name, newpath); > + } > > fd = do_open(name); > free(name); > -- > 2.13.0
| |