diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index ff05f08010c0562304cd94147f5b6a40d83becc9..3ca18e3a2be93ea174c2b8d293c808d4c0d00eeb 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -629,8 +629,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_destroy(*q); + *q = NULL; + } return ERR_PTR(err); }