Re: [PATCH net] net/sched: cls_api: Move call to tcf_exts_miss_cookie_base_destroy()
From: Nathan Chancellor <nathan@kernel.org>
Date: 2023-02-25 21:15:35
Also in:
lkml
On Sat, Feb 25, 2023 at 05:08:17PM +0100, Simon Horman wrote:
On Fri, Feb 24, 2023 at 11:18:49AM -0700, Nathan Chancellor wrote:quoted
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>Thanks Nathan, I think the #ifdefs in this file could do with some work.
Yes, it is definitely an eye sore. I thought about cleaning it up but it felt like net-next material to me, plus I have no other interest in this code other than making the warning in my builds go away, if I am being honest :)
But as a fix this looks good to me. Reviewed-by: Simon Horman <redacted>
Thanks for the quick review! Cheers, Nathan