Re: Patch "tracing: Have filter check for balanced ops" has been added to the 3.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 23 Jun 2015 15:22:50 +0200
Jiri Slaby <jslaby@xxxxxxx> wrote:


> > --- a/kernel/trace/trace_events_filter.c
> > +++ b/kernel/trace/trace_events_filter.c
> > @@ -1399,19 +1399,26 @@ static int check_preds(struct filter_par
> >  {
> >  	int n_normal_preds = 0, n_logical_preds = 0;
> >  	struct postfix_elt *elt;
> > +	int cnt = 0;
> >  
> >  	list_for_each_entry(elt, &ps->postfix, list) {
> > -		if (elt->op == OP_NONE)
> > +		if (elt->op == OP_NONE) {
> > +			cnt++;
> >  			continue;
> > +		}
> >  
> >  		if (elt->op == OP_AND || elt->op == OP_OR) {
> >  			n_logical_preds++;
> > +			cnt--;
> >  			continue;
> >  		}
> > +		if (elt->op != OP_NOT)
> 
> This breaks build, OP_NOT is not in 3.14 (or 3.10) yet. I dropped this
> line for 3.12.

Luis has a version he used for his stable tree, which should also work
for yours.

See this:

  http://lkml.kernel.org/r/20150622144940.GD2036@ares

-- Steve

> 
> > +			cnt--;
> >  		n_normal_preds++;
> > +		WARN_ON_ONCE(cnt < 0);
> >  	}
> >  
> > -	if (!n_normal_preds || n_logical_preds >= n_normal_preds) {
> > +	if (cnt != 1 || !n_normal_preds || n_logical_preds >= n_normal_preds) {
> >  		parse_error(ps, FILT_ERR_INVALID_FILTER, 0);
> >  		return -EINVAL;
> >  	}
> > 
> > 
> 
> thanks,

--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]