From: John Fastabend Date: Tue, 16 Sep 2014 06:31:42 +0000 (-0700) Subject: net: sched: cls_fw: add missing tcf_exts_init call in fw_change() X-Git-Tag: firefly_0821_release~176^2~3043^2~43 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e1f93eb06c3a13b29b1980f27dada960503cd49e;p=firefly-linux-kernel-4.4.55.git net: sched: cls_fw: add missing tcf_exts_init call in fw_change() When allocating a new structure we also need to call tcf_exts_init to initialize exts. A follow up patch might be in order to remove some of this code and do tcf_exts_assign(). With this we could remove the tcf_exts_init/tcf_exts_change pattern for some of the classifiers. As part of the future tcf_actions RCU series this will need to be done. For now fix the call here. Fixes e35a8ee5993ba81fd6c0 ("net: sched: fw use RCU") Signed-off-by: John Fastabend Acked-by: Cong Wang Signed-off-by: David S. Miller --- diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index 006b45a67fdd..2650285620ee 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c @@ -264,6 +264,8 @@ static int fw_change(struct net *net, struct sk_buff *in_skb, #endif /* CONFIG_NET_CLS_IND */ fnew->tp = f->tp; + tcf_exts_init(&fnew->exts, TCA_FW_ACT, TCA_FW_POLICE); + err = fw_change_attrs(net, tp, fnew, tb, tca, base, ovr); if (err < 0) { kfree(fnew);