The problem here is that I'm trying to silence a static checker warning. In replace_preds() we cap n_preds at MAX_FILTER_PRED but we don't check for negative values. It can't actually be negative values, but the static checkers get confused. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c index 256764e..7f4daff 100644 --- a/kernel/trace/trace_events_filter.c +++ b/kernel/trace/trace_events_filter.c @@ -790,7 +790,7 @@ static struct event_filter *__alloc_filter(void) return filter; } -static int __alloc_preds(struct event_filter *filter, int n_preds) +static int __alloc_preds(struct event_filter *filter, unsigned int n_preds) { struct filter_pred *pred; int i; @@ -1361,10 +1361,10 @@ static int check_preds(struct filter_parse_state *ps) return 0; } -static int count_preds(struct filter_parse_state *ps) +static unsigned int count_preds(struct filter_parse_state *ps) { struct postfix_elt *elt; - int n_preds = 0; + unsigned int n_preds = 0; list_for_each_entry(elt, &ps->postfix, list) { if (elt->op == OP_NONE) @@ -1601,7 +1601,7 @@ static int replace_preds(struct ftrace_event_call *call, struct postfix_elt *elt; struct pred_stack stack = { }; /* init to NULL */ int err; - int n_preds = 0; + unsigned int n_preds = 0; n_preds = count_preds(ps); if (n_preds >= MAX_FILTER_PRED) { -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html