[tip:tracing/core] tracing/filters: don't remove old filters when failed to write subsys->filter

From: tip-bot for Li Zefan
Date: Tue Apr 21 2009 - 06:09:02 EST


Commit-ID: e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a
Gitweb: http://git.kernel.org/tip/e8082f3f5a17d7a7bfc7dd1050a3f958dc034e9a
Author: Li Zefan <lizf@xxxxxxxxxxxxxx>
AuthorDate: Tue, 21 Apr 2009 17:11:46 +0800
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Tue, 21 Apr 2009 11:58:27 +0200

tracing/filters: don't remove old filters when failed to write subsys->filter

If writing subsys->filter returns EINVAL or ENOSPC, the original
filters in subsys/ and subsys/events/ will be removed. This is
definitely wrong.

[ Impact: fix filter setting semantics on error condition ]

Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
Cc: Tom Zanussi <tzanussi@xxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
LKML-Reference: <49ED8DD2.2070700@xxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


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

diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 672b195..9ea55a7 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -600,7 +600,6 @@ subsystem_filter_write(struct file *filp, const char __user *ubuf, size_t cnt,

err = filter_add_subsystem_pred(system, pred);
if (err < 0) {
- filter_free_subsystem_preds(system);
filter_free_pred(pred);
return err;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/