Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1506593 > unrolled thread

[PATCH] Fix: perf data convert: leak of bt_ctf_field_type

Started byJérémie Galarneau <jeremie.galarneau@efficios.com>
First post2016-10-22 22:00 +0200
Last post2016-10-23 13:50 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Fix: perf data convert: leak of bt_ctf_field_type Jérémie Galarneau          <jeremie.galarneau@efficios.com> - 2016-10-22 22:00 +0200
    Re: [PATCH] Fix: perf data convert: leak of bt_ctf_field_type Jiri Olsa <jolsa@redhat.com> - 2016-10-23 13:50 +0200

#1506593 — [PATCH] Fix: perf data convert: leak of bt_ctf_field_type

FromJérémie Galarneau <jeremie.galarneau@efficios.com>
Date2016-10-22 22:00 +0200
Subject[PATCH] Fix: perf data convert: leak of bt_ctf_field_type
Message-ID<svaCt-7IO-7@gated-at.bofh.it>
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.

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

[toc] | [next] | [standalone]


#1506680

FromJiri Olsa <jolsa@redhat.com>
Date2016-10-23 13:50 +0200
Message-ID<svprP-mD-15@gated-at.bofh.it>
In reply to#1506593
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
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web