Re: [PATCH] Traffic control cgroups subsystem

From: Patrick McHardy
Date: Wed Jul 23 2008 - 18:34:46 EST


Andrew Morton wrote:
On Tue, 22 Jul 2008 10:44:18 -0700 (PDT)
Ranjit Manomohan <ranjitm@xxxxxxxxxx> wrote:

@@ -359,7 +370,12 @@ static int flow_classify(struct sk_buff *skb, struct tcf_proto *tp,
classid %= f->divisor;

res->class = 0;
- res->classid = TC_H_MAKE(f->baseclass, f->baseclass + classid);
+
+ if (key == FLOW_KEY_CGROUP_CLASSID)
+ res->classid = TC_H_MAKE(f->baseclass, classid);
+ else
+ res->classid = TC_H_MAKE(f->baseclass,
+ f->baseclass + classid);

This causes a warning:

net/sched/cls_flow.c: In function 'flow_classify':
net/sched/cls_flow.c:344: warning: 'key' may be used uninitialized in this function

that warning is a non-issue if we happen to know that f->nkeys can
never be zero. I don't know if that is guaranteed at this code site?

It is by the flow_change() function, but special casing the
CGROUP_CLASSID is not acceptable anyway. There should be no
need for that, a simple linear mapping to classids is done
by default in mapping mode, the sk_cgroup_classid simply
shouldn't include qdisc IDs.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/