diff options
author | Hangbin Liu <liuhangbin@gmail.com> | 2018-08-14 05:28:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-08-16 15:08:26 -0400 |
commit | a51c76b4dfb30496dc65396a957ef0f06af7fb22 (patch) | |
tree | 46091d92dcb6fa4e47dade2c071e88932dc5126b | |
parent | d01e12dd3f4227f1be5d7c5bffa7b8240787bec1 (diff) |
cls_matchall: fix tcf_unbind_filter missing
Fix tcf_unbind_filter missing in cls_matchall as this will trigger
WARN_ON() in cbq_destroy_class().
Fixes: fd62d9f5c575f ("net/sched: matchall: Fix configuration race")
Reported-by: Li Shuang <shuali@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sched/cls_matchall.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c index af16f36ed578..856fa79d4ffd 100644 --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c | |||
@@ -113,6 +113,8 @@ static void mall_destroy(struct tcf_proto *tp, struct netlink_ext_ack *extack) | |||
113 | if (!head) | 113 | if (!head) |
114 | return; | 114 | return; |
115 | 115 | ||
116 | tcf_unbind_filter(tp, &head->res); | ||
117 | |||
116 | if (!tc_skip_hw(head->flags)) | 118 | if (!tc_skip_hw(head->flags)) |
117 | mall_destroy_hw_filter(tp, head, (unsigned long) head, extack); | 119 | mall_destroy_hw_filter(tp, head, (unsigned long) head, extack); |
118 | 120 | ||