Messages in this thread |  | | Date | Sun, 23 Oct 2016 13:43:20 +0200 | | From | Jiri Olsa <> | | Subject | Re: [PATCH] Fix: perf data convert: leak of bt_ctf_field_type |
| |
On Sat, Oct 22, 2016 at 03:57:27PM -0400, Jérémie Galarneau wrote: > The ctf_writer structure contains an union of a structure containing > 7 pointer members and an array of 6 struct bt_ctf_field_type*, which > are used to release the references to these objects in > ctf_writer__cleanup_data(). > > 26812d46 introduced the u32_hex member and should have increased the > array's size. The disparity results in the last member of the "data" > structure being leaked as its reference is never released/put.
this actualy looks like good solution, sry we missed that first time
Could one of you guys please resend that?
thanks, jirka
> > Philippe Proulx proposed a patch back in February which hasn't received > any feedback and would eliminate the need to manually update this > array. > http://lkml.iu.edu/hypermail/linux/kernel/1602.1/03800.html > > CC-ing the people who were CC-ed on the original patch. > > Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> > Cc: Wang Nan <wangnan0@huawei.com> > Cc: Philippe Proulx <philippe.proulx@efficios.com> > Cc: David S. Miller <davem@davemloft.net> > Cc: Alexei Starovoitov <ast@kernel.org> > Cc: Brendan Gregg <brendan.d.gregg@gmail.com> > Cc: David S. Miller <davem@davemloft.net> > Cc: Jiri Olsa <jolsa@kernel.org> > Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> > Cc: Namhyung Kim <namhyung@kernel.org> > Cc: Zefan Li <lizefan@huawei.com> > Cc: pi3orama@163.com > --- > tools/perf/util/data-convert-bt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/util/data-convert-bt.c b/tools/perf/util/data-convert-bt.c > index 7123f4d..16364f0 100644 > --- a/tools/perf/util/data-convert-bt.c > +++ b/tools/perf/util/data-convert-bt.c > @@ -67,7 +67,7 @@ struct ctf_writer { > struct bt_ctf_field_type *u32_hex; > struct bt_ctf_field_type *u64_hex; > }; > - struct bt_ctf_field_type *array[6]; > + struct bt_ctf_field_type *array[7]; > } data; > struct bt_ctf_event_class *comm_class; > struct bt_ctf_event_class *exit_class; > -- > 2.10.1 >
|  |