When building with Sparse (C=2), the following warning is reported: net/netfilter/nf_nat_bpf.c:31:17: warning: symbol 'bpf_ct_set_nat_info' was not declared. Should it be static? This function is a BPF kfunc and must remain non-static to be visible to the BPF verifier via BTF. However, it lacks a proper declaration in the header file, which triggers the sparse warning. Fix this by adding the missing declaration in include/net/netfilter/nf_conntrack_bpf.h inside the CONFIG_NF_NAT conditional block. Signed-off-by: Sun Jian --- include/net/netfilter/nf_conntrack_bpf.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/net/netfilter/nf_conntrack_bpf.h b/include/net/netfilter/nf_conntrack_bpf.h index 2d0da478c8e0..25b51fa783c8 100644 --- a/include/net/netfilter/nf_conntrack_bpf.h +++ b/include/net/netfilter/nf_conntrack_bpf.h @@ -33,6 +33,9 @@ static inline void cleanup_nf_conntrack_bpf(void) (IS_MODULE(CONFIG_NF_NAT) && IS_ENABLED(CONFIG_DEBUG_INFO_BTF_MODULES)) extern int register_nf_nat_bpf(void); +int bpf_ct_set_nat_info(struct nf_conn___init *nfct, + union nf_inet_addr *addr, int port, + enum nf_nat_manip_type manip); #else -- 2.43.0