lkml.org 
[lkml]   [2016]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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
>

\
 
 \ /
  Last update: 2016-10-23 13:44    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog