diff options
author | Rami Rosen <ramirose@gmail.com> | 2008-02-05 05:56:48 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-02-05 05:56:48 -0500 |
commit | 0aead543479e7f20013217fe3fc33a604fdd8944 (patch) | |
tree | ca02be1f38085de89b1ed42d845ed2c1a450ffad /net | |
parent | cc8274f50f2ad9a97a837451f63a0a3e65f7f490 (diff) |
[NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build)
The 2.6 latest git build was broken when using the following
configuration options:
CONFIG_NET_EMATCH=n
CONFIG_NET_CLS_FLOW=y
with the following error:
net/sched/cls_flow.c: In function 'flow_dump':
net/sched/cls_flow.c:598: error: 'struct tcf_ematch_tree' has no
member named 'hdr'
make[2]: *** [net/sched/cls_flow.o] Error 1
make[1]: *** [net/sched] Error 2
make: *** [net] Error 2
see the recent post by Li Zefan:
http://www.spinics.net/lists/netdev/msg54434.html
The reason for this crash is that struct tcf_ematch_tree
(net/pkt_cls.h) is empty when CONFIG_NET_EMATCH is not defined.
When CONFIG_NET_EMATCH is defined, the tcf_ematch_tree structure
indeed holds a struct tcf_ematch_tree_hdr (hdr) as flow_dump()
expects.
This patch adds #ifdef CONFIG_NET_EMATCH in flow_dump to avoid this.
Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/cls_flow.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c index 5a7f6a3060fc..8d7698621f0a 100644 --- a/net/sched/cls_flow.c +++ b/net/sched/cls_flow.c | |||
@@ -594,11 +594,11 @@ static int flow_dump(struct tcf_proto *tp, unsigned long fh, | |||
594 | 594 | ||
595 | if (tcf_exts_dump(skb, &f->exts, &flow_ext_map) < 0) | 595 | if (tcf_exts_dump(skb, &f->exts, &flow_ext_map) < 0) |
596 | goto nla_put_failure; | 596 | goto nla_put_failure; |
597 | 597 | #ifdef CONFIG_NET_EMATCH | |
598 | if (f->ematches.hdr.nmatches && | 598 | if (f->ematches.hdr.nmatches && |
599 | tcf_em_tree_dump(skb, &f->ematches, TCA_FLOW_EMATCHES) < 0) | 599 | tcf_em_tree_dump(skb, &f->ematches, TCA_FLOW_EMATCHES) < 0) |
600 | goto nla_put_failure; | 600 | goto nla_put_failure; |
601 | 601 | #endif | |
602 | nla_nest_end(skb, nest); | 602 | nla_nest_end(skb, nest); |
603 | 603 | ||
604 | if (tcf_exts_dump_stats(skb, &f->exts, &flow_ext_map) < 0) | 604 | if (tcf_exts_dump_stats(skb, &f->exts, &flow_ext_map) < 0) |