]> git.itanic.dy.fi Git - linux-stable/blobdiff - net/sched/cls_api.c
net: sched: fix possible refcount leak in tc_new_tfilter()
[linux-stable] / net / sched / cls_api.c
index ac366c99086fd3b9f0721c93c53cf930f4e495c5..7d7f7bac0216aa771322ca94691fd01f56da2671 100644 (file)
@@ -2136,6 +2136,7 @@ static int tc_new_tfilter(struct sk_buff *skb, struct nlmsghdr *n,
        }
 
        if (chain->tmplt_ops && chain->tmplt_ops != tp->ops) {
+               tfilter_put(tp, fh);
                NL_SET_ERR_MSG(extack, "Chain template is set to a different filter kind");
                err = -EINVAL;
                goto errout;