summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHangbin Liu <liuhangbin@gmail.com>2018-08-14 17:28:26 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-08-22 07:47:15 +0200
commitc4db09a6f60a4b70e3845ab9978cf61bcb2a456e (patch)
tree2fc8e21a7289d3d6e3eae6c024e26eb0c717ecdf
parent4daf820df7b2917175c9fe010335bf9051d3f383 (diff)
downloadlinux-stable-c4db09a6f60a4b70e3845ab9978cf61bcb2a456e.tar.gz
linux-stable-c4db09a6f60a4b70e3845ab9978cf61bcb2a456e.tar.bz2
linux-stable-c4db09a6f60a4b70e3845ab9978cf61bcb2a456e.zip
cls_matchall: fix tcf_unbind_filter missing
[ Upstream commit a51c76b4dfb30496dc65396a957ef0f06af7fb22 ] 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/sched/cls_matchall.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/cls_matchall.c b/net/sched/cls_matchall.c
index e75fb65037d7..61ddfbad2aae 100644
--- a/net/sched/cls_matchall.c
+++ b/net/sched/cls_matchall.c
@@ -94,6 +94,8 @@ static bool mall_destroy(struct tcf_proto *tp, bool force)
if (!head)
return true;
+ tcf_unbind_filter(tp, &head->res);
+
if (tc_should_offload(dev, tp, head->flags))
mall_destroy_hw_filter(tp, head, (unsigned long) head);