cls_flow: remove one dynamic array
authorEric Dumazet <eric.dumazet@gmail.com>
Wed, 14 Dec 2011 02:30:00 +0000 (02:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 Dec 2011 18:34:55 +0000 (13:34 -0500)
Its better to use a predefined size for this small automatic variable.

Removes a sparse error as well :

net/sched/cls_flow.c:288:13: error: bad constant expression

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_flow.c

index 51ff19485e1218ec8eef3a051bbb3529c8ff8ad0..1d8bd0dbcd1fff38ed191b89decb3f0afb0456af 100644 (file)
@@ -285,7 +285,7 @@ static int flow_classify(struct sk_buff *skb, const struct tcf_proto *tp,
        int r;
 
        list_for_each_entry(f, &head->filters, list) {
-               u32 keys[f->nkeys];
+               u32 keys[FLOW_KEY_MAX + 1];
                struct flow_keys flow_keys;
 
                if (!tcf_em_tree_match(skb, &f->ematches, NULL))