diff options
author | John Fastabend <john.fastabend@gmail.com> | 2014-09-16 00:33:42 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-16 16:26:39 -0400 |
commit | 9f6c38e70b6c7ea379394a755fe76e09996f5370 (patch) | |
tree | 510acfc9db27281b4ec1d839d2b9fef41025a104 | |
parent | 2d9d65fa4418b64112199449e90af226764537e4 (diff) | |
download | linux-9f6c38e70b6c7ea379394a755fe76e09996f5370.tar.gz |
net: sched: cls_cgroup need tcf_exts_init in all cases
This ensures the tcf_exts_init() is called for all cases.
Fixes: 952313bd62589cae216a57 ("net: sched: cls_cgroup use RCU")
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sched/cls_cgroup.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index 10c7ffde13e2..15c34d4ccd9e 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c @@ -116,12 +116,11 @@ static int cls_cgroup_change(struct net *net, struct sk_buff *in_skb, if (!new) return -ENOBUFS; - if (head) { + tcf_exts_init(&new->exts, TCA_CGROUP_ACT, TCA_CGROUP_POLICE); + if (head) new->handle = head->handle; - } else { - tcf_exts_init(&new->exts, TCA_CGROUP_ACT, TCA_CGROUP_POLICE); + else new->handle = handle; - } new->tp = tp; err = nla_parse_nested(tb, TCA_CGROUP_MAX, tca[TCA_OPTIONS], |