diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 3de47e99b788f81e914efebe9ef89e7f32c1f4bc..d670d3066ebd6c2f3cd1220b5447f31d252d97b4 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -717,8 +717,10 @@ static struct tcf_block *tcf_block_find(struct net *net, struct Qdisc **q, errout_rcu: rcu_read_unlock(); errout_qdisc: - if (*q) + if (*q) { qdisc_put(*q); + *q = NULL; + } return ERR_PTR(err); }