lkml.org 
[lkml]   [2009]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tracing/filters: allow on-the-fly filter switching
On Tue, Apr 14, 2009 at 11:32:25PM -0500, Tom Zanussi wrote:
> On Tue, 2009-04-14 at 22:56 +0200, Frederic Weisbecker wrote:
> > On Mon, Apr 13, 2009 at 03:17:50AM -0500, Tom Zanussi wrote:
>
> [...]
>
> >
> >
> > BTW, this issue might be already present before this patch.
> > What happens if:
> >
> >
> > T1 T2
> >
> > event_filter_read() {
> > filter_print_preds() {
> > for (i = 0; i < n_preds; i++) {
> > pred = preds[i];
> > event_filter_write() {
> > filter_disable_preds();
> > filter_clear_preds() {
> > kfree(pred->field_name);
> > field_name = pred->field_name;
> > // CRASH!!!
> >
> >
> > You need a mutex to protect these two callbacks.
> > It would also protect concurrent calls to event_filter_write(),
> > which would result in random.
> >
>
> Yeah, Li Zefan had already fixed this, but it wasn't included in this
> patch. Looks like he'll be resubmitting that part...
>
> >
> >
>
> [...]
>
> > Also, is filter_add_pred() supposed to be available for in-kernel
> > uses by other tracers or something?
>
> No, the current callers were the only ones I'd planned on (it's not
> static because code in trace_events.c needs to call it). But, do you
> see a use for it by other tracers?



May be in the future, it's possible that a tracer might want to
set filters by itself.
But I don't think it has to be fixed now because there are nothing
like that for now.

So, no problem :-)

Frederic.


> > If this is planned, the locking could be even deeper than my comments.
> >
> > Other than these comments:
> >
> > Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
> >
> > Thanks!
> >
>
> Thanks for reviewing it!
>
> Tom
>



\
 
 \ /
  Last update: 2009-04-15 18:25    [from the cache]
©2003-2011 Jasper Spaans