Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

net/sched: cls_api: Move call to tcf_exts_miss_cookie_base_destroy()

When CONFIG_NET_CLS_ACT is disabled:

../net/sched/cls_api.c:141:13: warning: 'tcf_exts_miss_cookie_base_destroy' defined but not used [-Wunused-function]
141 | static void tcf_exts_miss_cookie_base_destroy(struct tcf_exts *exts)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Due to the way the code is structured, it is possible for a definition
of tcf_exts_miss_cookie_base_destroy() to be present without actually
being used. Its single callsite is in an '#ifdef CONFIG_NET_CLS_ACT'
block but a definition will always be present in the file. The version
of tcf_exts_miss_cookie_base_destroy() that actually does something
depends on CONFIG_NET_TC_SKB_EXT, so the stub function is used in both
CONFIG_NET_CLS_ACT=n and CONFIG_NET_CLS_ACT=y + CONFIG_NET_TC_SKB_EXT=n
configurations.

Move the call to tcf_exts_miss_cookie_base_destroy() in
tcf_exts_destroy() out of the '#ifdef CONFIG_NET_CLS_ACT', so that it
always appears used to the compiler, while not changing any behavior
with any of the various configuration combinations.

Fixes: 80cd22c35c90 ("net/sched: cls_api: Support hardware miss to tc action")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Nathan Chancellor and committed by
David S. Miller
37e1f3ac 6f2ce45f

+1 -1
+1 -1
net/sched/cls_api.c
··· 3241 3241 3242 3242 void tcf_exts_destroy(struct tcf_exts *exts) 3243 3243 { 3244 - #ifdef CONFIG_NET_CLS_ACT 3245 3244 tcf_exts_miss_cookie_base_destroy(exts); 3246 3245 3246 + #ifdef CONFIG_NET_CLS_ACT 3247 3247 if (exts->actions) { 3248 3248 tcf_action_destroy(exts->actions, TCA_ACT_UNBIND); 3249 3249 kfree(exts->actions);