aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/cls_api.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2018-08-08 14:04:13 +0200
committerDavid S. Miller <davem@davemloft.net>2018-08-09 14:12:04 -0700
commit63cc5bcc9fc467bbe61cc9ee52509294bdf04c4b (patch)
treef7a846f8c2ef0d44c1c3b99b5dab3e613e28ec4b /net/sched/cls_api.c
parentdecnet: fix using plain integer as NULL warning (diff)
downloadlinux-dev-63cc5bcc9fc467bbe61cc9ee52509294bdf04c4b.tar.xz
linux-dev-63cc5bcc9fc467bbe61cc9ee52509294bdf04c4b.zip
net: sched: fix block->refcnt decrement
Currently the refcnt is never decremented in case the value is not 1. Fix it by adding decrement in case the refcnt is not 1. Reported-by: Vlad Buslov <vladbu@mellanox.com> Fixes: f71e0ca4db18 ("net: sched: Avoid implicit chain 0 creation") Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/sched/cls_api.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 194c2e0b2737..f922ce27ed5e 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);