2009-03-24 07:14:38

by Tom Zanussi

[permalink] [raw]
Subject: [PATCH] tracing/filters: free pred when clearing filters

Free the current pred when clearing the filters via the filter files.

Signed-off-by: Tom Zanussi <[email protected]>

---
kernel/trace/trace_events.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index fdab30d..a938138 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -516,6 +516,7 @@ event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,

if (pred->clear) {
filter_free_preds(call);
+ filter_free_pred(pred);
return cnt;
}

@@ -581,6 +582,7 @@ subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,

if (pred->clear) {
filter_free_subsystem_preds(system);
+ filter_free_pred(pred);
return cnt;
}

--
1.5.6.3



2009-03-24 07:29:06

by Tom Zanussi

[permalink] [raw]
Subject: [tip:tracing/filters] tracing/filters: free pred when clearing filters

Commit-ID: 09f1f245c79585383de63e3ca54d0f91824bff3a
Gitweb: http://git.kernel.org/tip/09f1f245c79585383de63e3ca54d0f91824bff3a
Author: Tom Zanussi <[email protected]>
AuthorDate: Tue, 24 Mar 2009 02:14:11 -0500
Committer: Ingo Molnar <[email protected]>
CommitDate: Tue, 24 Mar 2009 08:26:51 +0100

tracing/filters: free pred when clearing filters

Impact: fix (small) per trace filter modification memory leak

Free the current pred when clearing the filters via the filter files.

Signed-off-by: Tom Zanussi <[email protected]>
Cc: Steven Rostedt <[email protected]>
Cc: =?ISO-8859-1?Q?Fr=E9d=E9ric?= Weisbecker <[email protected]>
LKML-Reference: <1237878851.8339.58.camel@charm-linux>
Signed-off-by: Ingo Molnar <[email protected]>


---
kernel/trace/trace_events.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index fdab30d..a938138 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -516,6 +516,7 @@ event_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,

if (pred->clear) {
filter_free_preds(call);
+ filter_free_pred(pred);
return cnt;
}

@@ -581,6 +582,7 @@ subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,

if (pred->clear) {
filter_free_subsystem_preds(system);
+ filter_free_pred(pred);
return cnt;
}