]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
tracing/filters: Don't use pred on alloc failure
authorTom Zanussi <tzanussi@gmail.com>
Sat, 8 Aug 2009 15:49:36 +0000 (10:49 -0500)
committerIngo Molnar <mingo@elte.hu>
Sat, 8 Aug 2009 15:58:07 +0000 (17:58 +0200)
Dan Carpenter sent me a fix to prevent pred from being used if
it couldn't be allocated.  This updates his patch for the same
problem in the tracing tree (which has changed this code quite
substantially).

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Tom Zanussi <tzanussi@gmail.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Li Zefan <lizf@cn.fujitsu.com>
LKML-Reference: <1249746576.6453.30.camel@tropicana>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
The original report:

create_logical_pred() could sometimes return NULL.

It's a static checker complaining rather than problems at runtime...

kernel/trace/trace_events_filter.c

index 27c2dbea371036f86a9a0710a4a5b5719dcb4d43..490337abed7592b563331c4a36d440c23de2338b 100644 (file)
@@ -1050,6 +1050,8 @@ static int replace_preds(struct event_subsystem *system,
 
                pred = create_pred(elt->op, operand1, operand2);
 add_pred:
+               if (!pred)
+                       return -ENOMEM;
                if (call)
                        err = filter_add_pred(ps, call, pred, false);
                else