From: Pedro Tammela <pctammela@mojatatu.com>
Date: Fri, 1 Dec 2023 17:50:14 +0000 (-0300)
Subject: net/sched: act_api: stop loop over ops array on NULL in tcf_action_init
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e09ac779f736e75eab501b77f2a4f13d245f0a6d;p=linux.git

net/sched: act_api: stop loop over ops array on NULL in tcf_action_init

The ops array is contiguous, so stop processing whenever a NULL is found

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---

diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 2e948e5992b62..d3cb9f5b25da9 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -1506,10 +1506,8 @@ int tcf_action_init(struct net *net, struct tcf_proto *tp, struct nlattr *nla,
 err:
 	tcf_action_destroy(actions, flags & TCA_ACT_FLAGS_BIND);
 err_mod:
-	for (i = 0; i < TCA_ACT_MAX_PRIO; i++) {
-		if (ops[i])
-			module_put(ops[i]->owner);
-	}
+	for (i = 0; i < TCA_ACT_MAX_PRIO && ops[i]; i++)
+		module_put(ops[i]->owner);
 	return err;
 }