Re: [build bug] net/sched/cls_flow.c:598: error: 'struct tcf_ematch_tree'has no member named 'hdr'

From: Patrick McHardy
Date: Fri Feb 01 2008 - 10:53:46 EST


Ingo Molnar wrote:
another build bug found via x86.git randconfig testing:

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'

config attached. Introduced in last night's networking merge i guess.

Oops, thanks Ingo. Attached patch should fix it.


commit 28383868d7999539f35ae06666c2dfbde103a1d3
Author: Patrick McHardy <kaber@xxxxxxxxx>
Date: Fri Feb 1 16:50:44 2008 +0100

[NET_SCHED]: cls_flow: fix build error with CONFIG_NET_EMATCH=n

Reported by Ingo Molnar:

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'

Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>

diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
index 5a7f6a3..f30be74 100644
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -595,10 +595,11 @@ static int flow_dump(struct tcf_proto *tp, unsigned long fh,
if (tcf_exts_dump(skb, &f->exts, &flow_ext_map) < 0)
goto nla_put_failure;

+#ifdef CONFIG_NET_EMATCH
if (f->ematches.hdr.nmatches &&
tcf_em_tree_dump(skb, &f->ematches, TCA_FLOW_EMATCHES) < 0)
goto nla_put_failure;
-
+#endif
nla_nest_end(skb, nest);

if (tcf_exts_dump_stats(skb, &f->exts, &flow_ext_map) < 0)