summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorZhengchao Shao <shaozhengchao@huawei.com>2022-09-27 14:48:53 +0200
committerDavid S. Miller <davem@davemloft.net>2022-10-02 17:07:17 +0200
commit4e6263ec8bc965f0bd1c24bb40694a38e382e7a9 (patch)
treec02719d506db20f6944340f21e127f074dca6229 /net/sched
parentMerge branch 'mlx5-xsk-updates-part3-2022-09-30' (diff)
downloadlinux-4e6263ec8bc965f0bd1c24bb40694a38e382e7a9.tar.xz
linux-4e6263ec8bc965f0bd1c24bb40694a38e382e7a9.zip
net: sched: ensure n arg not empty before call bind_class
All bind_class callbacks are directly returned when n arg is empty. Therefore, bind_class is invoked only when n arg is not empty. Signed-off-by: Zhengchao Shao <shaozhengchao@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_api.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 7c15f1f3da17..c98af0ada706 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1915,7 +1915,7 @@ static int tcf_node_bind(struct tcf_proto *tp, void *n, struct tcf_walker *arg)
{
struct tcf_bind_args *a = (void *)arg;
- if (tp->ops->bind_class) {
+ if (n && tp->ops->bind_class) {
struct Qdisc *q = tcf_block_q(tp->chain->block);
sch_tree_lock(q);