[PATCH] netfilter: bpf: add missing declaration for bpf_ct_set_nat_info

Sun Jian posted 1 patch 4 days, 6 hours ago
include/net/netfilter/nf_conntrack_bpf.h | 3 +++
1 file changed, 3 insertions(+)
[PATCH] netfilter: bpf: add missing declaration for bpf_ct_set_nat_info
Posted by Sun Jian 4 days, 6 hours ago
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 <sun.jian.kdev@gmail.com>
---
 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
Re: [PATCH] netfilter: bpf: add missing declaration for bpf_ct_set_nat_info
Posted by Florian Westphal 4 days, 2 hours ago
Sun Jian <sun.jian.kdev@gmail.com> wrote:
> 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.

Didn't Alexei tell you to not send more fixes like this?

https://lore.kernel.org/netfilter-devel/CAADnVQ+j8Q5+2KSsaddj3nmU1EkuRAt8XwM=zcSrfQfY+A1PsA@mail.gmail.com/

"No. Ignore the warning. Sparse is incorrect.
We have hundreds of such bogus warnings. Do NOT attempt to send
more patches to "fix" them."

I'm not applying patches when a subsystem maintainer already
said no.
Re: [PATCH] netfilter: bpf: add missing declaration for bpf_ct_set_nat_info
Posted by sun jian 4 days, 2 hours ago
On Tue, Feb 3, 2026 at 8:56 PM Florian Westphal <fw@strlen.de> wrote:
>
> Sun Jian <sun.jian.kdev@gmail.com> wrote:
> > 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.
>
> Didn't Alexei tell you to not send more fixes like this?
>
> https://lore.kernel.org/netfilter-devel/CAADnVQ+j8Q5+2KSsaddj3nmU1EkuRAt8XwM=zcSrfQfY+A1PsA@mail.gmail.com/
>
> "No. Ignore the warning. Sparse is incorrect.
> We have hundreds of such bogus warnings. Do NOT attempt to send
> more patches to "fix" them."
>
> I'm not applying patches when a subsystem maintainer already
> said no.
Sorry, I'll drop this patch.