summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorWANG Cong <xiyou.wangcong@gmail.com>2015-10-01 20:37:43 +0200
committerDavid S. Miller <davem@davemloft.net>2015-10-05 15:30:34 +0200
commit215c90afb9ea633026273d81ac9c9ece2b1acd58 (patch)
tree50c453e639914a55cd2be9908733dba18b18451e /net/sched
parentact_mirred: fix a race condition on mirred_list (diff)
downloadlinux-215c90afb9ea633026273d81ac9c9ece2b1acd58.tar.xz
linux-215c90afb9ea633026273d81ac9c9ece2b1acd58.zip
act_mirred: always release tcf hash
Align with other tc actions. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Cong Wang <cwang@twopensource.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/act_mirred.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index 3e7c51a8ca38..2efaf4ee6040 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -107,10 +107,10 @@ static int tcf_mirred_init(struct net *net, struct nlattr *nla,
} else {
if (bind)
return 0;
- if (!ovr) {
- tcf_hash_release(a, bind);
+
+ tcf_hash_release(a, bind);
+ if (!ovr)
return -EEXIST;
- }
}
m = to_mirred(a);