提交 e1f93eb0 编写于 作者: J John Fastabend 提交者: David S. Miller

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 e35a8ee5 ("net: sched: fw use RCU")
Signed-off-by: NJohn Fastabend <john.r.fastabend@intel.com>
Acked-by: NCong Wang <cwang@twopensource.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d14cbfc8
...@@ -264,6 +264,8 @@ static int fw_change(struct net *net, struct sk_buff *in_skb, ...@@ -264,6 +264,8 @@ static int fw_change(struct net *net, struct sk_buff *in_skb,
#endif /* CONFIG_NET_CLS_IND */ #endif /* CONFIG_NET_CLS_IND */
fnew->tp = f->tp; 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); err = fw_change_attrs(net, tp, fnew, tb, tca, base, ovr);
if (err < 0) { if (err < 0) {
kfree(fnew); kfree(fnew);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册