Messages in this thread | | | Date | Thu, 24 Jul 2008 00:34:24 +0200 | From | Patrick McHardy <> | Subject | Re: [PATCH] Traffic control cgroups subsystem |
| |
Andrew Morton wrote: > On Tue, 22 Jul 2008 10:44:18 -0700 (PDT) > Ranjit Manomohan <ranjitm@google.com> 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.
| |