lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 11 Apr 2009 12:58:41 -0500
From:	Tom Zanussi <tzanussi@...il.com>
To:	Frederic Weisbecker <fweisbec@...il.com>
Cc:	Li Zefan <lizf@...fujitsu.com>, Ingo Molnar <mingo@...e.hu>,
	Steven Rostedt <rostedt@...dmis.org>,
	LKML <linux-kernel@...r.kernel.org>, paulmck@...ux.vnet.ibm.com
Subject: Re: [PATCH 0/7] tracing: bug fixes for tracing/filters

On Sat, 2009-04-11 at 16:48 +0200, Frederic Weisbecker wrote:
> On Sat, Apr 11, 2009 at 04:30:48AM -0500, Tom Zanussi wrote:
> > Hi,
> > 
> > On Sat, 2009-04-11 at 15:52 +0800, Li Zefan wrote:
> > > This patchset fixes some bugs in tracing/filters. Most of the change
> > > goes to the last patch, and others are small ones.
> > > 
> > 
> > At first glance, they look good and fix real problems - thanks for
> > fixing them.  Re patch 7, there's been some discussion about using rcu
> > for this.  See:
> > 
> > http://lkml.org/lkml/2009/4/5/46
> > 
> > >From that discussion, it seems some non-trivial changes to rcu would be
> > needed for this.  I'm playing around with a different idea now to
> > hopefully avoid the need for that, or the other approach mentioned, of
> > temporarily stopping tracing while removing/changing the filters.
> > 
> > Basically my thought is to avoid the problem by not allocating or
> > destroying the preds when removing filters but instead switch out the
> > pred->fns with a nop version while keeping the fields intact for awhile.
> > I think that will work for removing filters, but I still need to think
> > about how it would (or would not) work for replacing them.
> >  
> > Tom
> 
> 
> 
> It would be sort of reinventing rcu :-)
> Well, Paul proposed something recently, hmm I should double check
> this discussion.
> 

Well, if so, the resemblance would be only superficial e.g. the
difference between a cheap parlor trick and David Copperfield. ;-)  Mine
would be much simpler and local to the filter code.  Also, I think I'm
overstating the 'keeping the fields intact for awhile' part - it should
be possible to not deal with that at all at the cost of a small
possibility of a false positive or negative while switching filters.

I'll run it up the flagpole and see if it flies, and hopefully post a
patch for it, sometime this weekend...

Tom

> Anyway, the fixes from Li (other than 4 and 7 for which we have comments)
> look very good!
> 
> Frederic.
> 
> 
> 
> > 
> > > Maybe 3rd to 6th patches can be regarded as small enhancements instead
> > > of bug fixes? But they are behavioural changes.
> > > 
> > > 
> > > [PATCH 1/7] tracing/filters: NUL-terminate user input filter
> > > [PATCH 2/7] tracing/filters: fix NULL pointer dereference
> > > [PATCH 3/7] tracing/filters: allow user input integer to be oct or hex
> > > [PATCH 4/7] tracing/filters: allow user to specify a filter val to be string
> > > [PATCH 5/7] tracing/filters: disallow newline as delimeter
> > > [PATCH 6/7] tracing/filters: return proper error code when writing filter file
> > > [PATCH 7/7] tracing/filters: make filter preds RCU safe
> > > 
> > >  kernel/trace/trace.h                |    6 +-
> > >  kernel/trace/trace_events.c         |   16 +++--
> > >  kernel/trace/trace_events_filter.c  |  131 ++++++++++++++++++++++++++---------
> > >  kernel/trace/trace_events_stage_3.h |   10 +++-
> > >  4 files changed, 121 insertions(+), 42 deletions(-)
> > > ---
> > 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ