diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-10-06 20:21:54 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-08 15:41:27 -0400 |
commit | 5301e3e117d88ef0967ce278912e54757f1a31a2 (patch) | |
tree | d01c6b0f9de9eb79dad2121ca86032c20f0a4576 /net/sched | |
parent | c3a803e81713c8d1f3a79afdc35014f3f9f07561 (diff) |
net_sched: copy exts->type in tcf_exts_change()
We need to copy exts->type when committing the change, otherwise
it would be always 0. This is a quick fix for -net and -stable,
for net-next tcf_exts will be removed.
Fixes: commit 33be627159913b094bb578e83 ("net_sched: act: use standard struct list_head")
Reported-by: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/cls_api.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index c28b0d327b12..4f4e08b0e2b7 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
@@ -549,6 +549,7 @@ void tcf_exts_change(struct tcf_proto *tp, struct tcf_exts *dst, | |||
549 | tcf_tree_lock(tp); | 549 | tcf_tree_lock(tp); |
550 | list_splice_init(&dst->actions, &tmp); | 550 | list_splice_init(&dst->actions, &tmp); |
551 | list_splice(&src->actions, &dst->actions); | 551 | list_splice(&src->actions, &dst->actions); |
552 | dst->type = src->type; | ||
552 | tcf_tree_unlock(tp); | 553 | tcf_tree_unlock(tp); |
553 | tcf_action_destroy(&tmp, TCA_ACT_UNBIND); | 554 | tcf_action_destroy(&tmp, TCA_ACT_UNBIND); |
554 | #endif | 555 | #endif |