4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Hangbin Liu <liuhangbin@xxxxxxxxx> [ 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@xxxxxxxxxx> Signed-off-by: Hangbin Liu <liuhangbin@xxxxxxxxx> Acked-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/sched/cls_matchall.c | 2 ++ 1 file changed, 2 insertions(+) --- a/net/sched/cls_matchall.c +++ b/net/sched/cls_matchall.c @@ -94,6 +94,8 @@ static bool mall_destroy(struct tcf_prot 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);