All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Xu <dxu@dxuuu.xyz>
To: Martin KaFai Lau <martin.lau@linux.dev>
Cc: pablo@netfilter.org, fw@strlen.de, toke@kernel.org,
	netfilter-devel@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, bpf@vger.kernel.org,
	ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
	memxor@gmail.com
Subject: Re: [PATCH bpf-next v2 3/3] bpf: Move nf_conn extern declarations to filter.h
Date: Tue, 20 Sep 2022 08:20:33 -0600	[thread overview]
Message-ID: <20220920142033.3k3yuupwyb5cxqxb@kashmir.localdomain> (raw)
In-Reply-To: <dc251395-78af-2ea3-9049-3b44cb831783@linux.dev>

On Mon, Sep 19, 2022 at 10:20:47PM -0700, Martin KaFai Lau wrote:
> On 9/19/22 12:44 PM, Daniel Xu wrote:
> > We're seeing the following new warnings on netdev/build_32bit and
> > netdev/build_allmodconfig_warn CI jobs:
> > 
> >      ../net/core/filter.c:8608:1: warning: symbol
> >      'nf_conn_btf_access_lock' was not declared. Should it be static?
> >      ../net/core/filter.c:8611:5: warning: symbol 'nfct_bsa' was not
> >      declared. Should it be static?
> > 
> > Fix by ensuring extern declaration is present while compiling filter.o.
> > 
> > Fixes: 864b656f82cc ("bpf: Add support for writing to nf_conn:mark")
> > Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
> > ---
> >   include/linux/filter.h                   | 6 ++++++
> >   include/net/netfilter/nf_conntrack_bpf.h | 7 +------
> >   2 files changed, 7 insertions(+), 6 deletions(-)
> > 
> > diff --git a/include/linux/filter.h b/include/linux/filter.h
> > index 75335432fcbc..98e28126c24b 100644
> > --- a/include/linux/filter.h
> > +++ b/include/linux/filter.h
> > @@ -567,6 +567,12 @@ struct sk_filter {
> >   DECLARE_STATIC_KEY_FALSE(bpf_stats_enabled_key);
> > +extern struct mutex nf_conn_btf_access_lock;
> > +extern int (*nfct_btf_struct_access)(struct bpf_verifier_log *log, const struct btf *btf,
> > +				     const struct btf_type *t, int off, int size,
> > +				     enum bpf_access_type atype, u32 *next_btf_id,
> > +				     enum bpf_type_flag *flag);
> > +
> >   typedef unsigned int (*bpf_dispatcher_fn)(const void *ctx,
> >   					  const struct bpf_insn *insnsi,
> >   					  unsigned int (*bpf_func)(const void *,
> > diff --git a/include/net/netfilter/nf_conntrack_bpf.h b/include/net/netfilter/nf_conntrack_bpf.h
> > index d1087e4da440..24d1ccc1f8df 100644
> > --- a/include/net/netfilter/nf_conntrack_bpf.h
> > +++ b/include/net/netfilter/nf_conntrack_bpf.h
> > @@ -5,6 +5,7 @@
> >   #include <linux/bpf.h>
> >   #include <linux/btf.h>
> > +#include <linux/filter.h>
> 
> The filter.h is only needed by nf_conntrack_bpf.c?  How about moving this
> include to nf_conntrack_bpf.c.  nf_conntrack_bpf.h is included by other
> conntrack core codes.  I would prefer not to spill over unnecessary bpf
> headers to them.  The same goes for the above bpf.h and btf.h which are only
> needed in nf_conntrack_bpf.c also?

Ah yeah. Thanks for catching. Will send out a v3.

Now I'm wondering if https://include-what-you-use.org/ would work with
kernel source. Might give it a try later.

> 
> >   #include <linux/kconfig.h>
> >   #include <linux/mutex.h>
> 
> Also, is mutex.h still needed?

Nope. But forgot to send that out in v3. I'll roll it into v4 if we need
another respin or otherwise I'll send out a separate patch after.

> 
> > @@ -14,12 +15,6 @@
> >   extern int register_nf_conntrack_bpf(void);
> >   extern void cleanup_nf_conntrack_bpf(void);
> > -extern struct mutex nf_conn_btf_access_lock;
> > -extern int (*nfct_btf_struct_access)(struct bpf_verifier_log *log, const struct btf *btf,
> > -				     const struct btf_type *t, int off, int size,
> > -				     enum bpf_access_type atype, u32 *next_btf_id,
> > -				     enum bpf_type_flag *flag);
> > -
> >   #else
> >   static inline int register_nf_conntrack_bpf(void)
> 

      reply	other threads:[~2022-09-20 14:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-19 19:44 [PATCH bpf-next v2 0/3] bpf: Small nf_conn cleanups Daniel Xu
2022-09-19 19:44 ` [PATCH bpf-next v2 1/3] bpf: Remove unused btf_struct_access stub Daniel Xu
2022-09-19 19:44 ` [PATCH bpf-next v2 2/3] bpf: Rename nfct_bsa to nfct_btf_struct_access Daniel Xu
2022-09-19 19:44 ` [PATCH bpf-next v2 3/3] bpf: Move nf_conn extern declarations to filter.h Daniel Xu
2022-09-20  5:20   ` Martin KaFai Lau
2022-09-20 14:20     ` Daniel Xu [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220920142033.3k3yuupwyb5cxqxb@kashmir.localdomain \
    --to=dxu@dxuuu.xyz \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=fw@strlen.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=memxor@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    --cc=toke@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.