Messages in this thread | | | Subject | Re: [PATCH] net: bridge: Fix jump_label config | From | Kefeng Wang <> | Date | Tue, 16 Mar 2021 23:48:18 +0800 |
| |
On 2021/2/27 4:19, Cong Wang wrote: > On Thu, Feb 25, 2021 at 5:39 PM Kefeng Wang <wangkefeng.wang@huawei.com> wrote: >> >> On 2021/2/26 5:22, Cong Wang wrote: >>> On Wed, Feb 24, 2021 at 8:03 AM Kefeng Wang <wangkefeng.wang@huawei.com> wrote: >>>> HAVE_JUMP_LABLE is removed by commit e9666d10a567 ("jump_label: move >>>> 'asm goto' support test to Kconfig"), use CONFIG_JUMP_LABLE instead >>>> of HAVE_JUMP_LABLE. >>>> >>>> Fixes: 971502d77faa ("bridge: netfilter: unroll NF_HOOK helper in bridge input path") >>>> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> >>> Hmm, why do we have to use a macro here? static_key_false() is defined >>> in both cases, CONFIG_JUMP_LABEL=y or CONFIG_JUMP_LABEL=n. >> It seems that all nf_hooks_needed related are using the macro, >> >> see net/netfilter/core.c and include/linux/netfilter.h, >> >> #ifdef CONFIG_JUMP_LABEL >> struct static_key nf_hooks_needed[NFPROTO_NUMPROTO][NF_MAX_HOOKS]; >> EXPORT_SYMBOL(nf_hooks_needed); >> #endif >> >> nf_static_key_inc()/nf_static_key_dec() > Same question: why? Clearly struct static_key is defined in both cases:
Hi Cong, the nf_hooks_needed is wrapped up by this macro, so this place should use it,
or we will meet the build issue, thanks.
../net/bridge/br_input.c: In function ‘nf_hook_bridge_pre’: ../net/bridge/br_input.c:211:25: error: ‘nf_hooks_needed’ undeclared (first use in this function) 211 | if (!static_key_false(&nf_hooks_needed[NFPROTO_BRIDGE][NF_BR_PRE_ROUTING]))
> > #else > struct static_key { > atomic_t enabled; > }; > #endif /* CONFIG_JUMP_LABEL */ > > Thanks. >
| |