diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 194c2e0b27372878448979bfdeee3fadb932cd52..f922ce27ed5ef13d45bcbed01e3741e1a4656482 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -780,6 +780,8 @@ void tcf_block_put_ext(struct tcf_block *block, struct Qdisc *q, block->refcnt--; if (list_empty(&block->chain_list)) kfree(block); + } else { + block->refcnt--; } } EXPORT_SYMBOL(tcf_block_put_ext);