All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] tracing/filters: add missing unlock in a failure path
@ 2009-05-15  3:07 Li Zefan
  2009-05-15  3:07 ` [PATCH 2/2] tracing/filters: fix off-by-one bug Li Zefan
  2009-05-15 14:42 ` [tip:tracing/core] tracing/filters: add missing unlock in a failure path tip-bot for Li Zefan
  0 siblings, 2 replies; 4+ messages in thread
From: Li Zefan @ 2009-05-15  3:07 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Steven Rostedt, Frederic Weisbecker, Tom Zanussi, LKML


[ Impact: fix deadlock in a rare case we fail to allocate memory ]

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
---
 kernel/trace/trace_events_filter.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c
index 85ad6a8..22c2998 100644
--- a/kernel/trace/trace_events_filter.c
+++ b/kernel/trace/trace_events_filter.c
@@ -1079,9 +1079,10 @@ int apply_event_filter(struct ftrace_event_call *call, char *filter_string)
 		return 0;
 	}
 
+	err = -ENOMEM;
 	ps = kzalloc(sizeof(*ps), GFP_KERNEL);
 	if (!ps)
-		return -ENOMEM;
+		goto out_unlock;
 
 	filter_disable_preds(call);
 	replace_filter_string(call->filter, filter_string);
@@ -1101,7 +1102,7 @@ out:
 	filter_opstack_clear(ps);
 	postfix_clear(ps);
 	kfree(ps);
-
+out_unlock:
 	mutex_unlock(&filter_mutex);
 
 	return err;
@@ -1123,9 +1124,10 @@ int apply_subsystem_event_filter(struct event_subsystem *system,
 		return 0;
 	}
 
+	err = -ENOMEM;
 	ps = kzalloc(sizeof(*ps), GFP_KERNEL);
 	if (!ps)
-		return -ENOMEM;
+		goto out_unlock;
 
 	filter_free_subsystem_preds(system);
 	replace_filter_string(system->filter, filter_string);
@@ -1145,7 +1147,7 @@ out:
 	filter_opstack_clear(ps);
 	postfix_clear(ps);
 	kfree(ps);
-
+out_unlock:
 	mutex_unlock(&filter_mutex);
 
 	return err;
-- 
1.5.4.rc3



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-05-15 14:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-15  3:07 [PATCH 1/2] tracing/filters: add missing unlock in a failure path Li Zefan
2009-05-15  3:07 ` [PATCH 2/2] tracing/filters: fix off-by-one bug Li Zefan
2009-05-15 14:43   ` [tip:tracing/core] " tip-bot for Li Zefan
2009-05-15 14:42 ` [tip:tracing/core] tracing/filters: add missing unlock in a failure path tip-bot for Li Zefan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.