All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel@iogearbox.net>
To: Ben Dooks <ben.dooks@codethink.co.uk>
Cc: linux-kernel@lists.codethink.co.uk,
	Alexei Starovoitov <ast@kernel.org>,
	Martin KaFai Lau <kafai@fb.com>, Song Liu <songliubraving@fb.com>,
	Yonghong Song <yhs@fb.com>,
	"David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <jakub.kicinski@netronome.com>,
	Jesper Dangaard Brouer <hawk@kernel.org>,
	John Fastabend <john.fastabend@gmail.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] net: bpf: add static in net/core/filter.c
Date: Wed, 16 Oct 2019 15:10:20 +0200	[thread overview]
Message-ID: <20191016131020.GE21367@pc-63.home> (raw)
In-Reply-To: <e947b15d-1d70-39d9-3b28-0367a3f0f4c0@codethink.co.uk>

On Wed, Oct 16, 2019 at 02:02:31PM +0100, Ben Dooks wrote:
> On 16/10/2019 13:26, Daniel Borkmann wrote:
> > On Wed, Oct 16, 2019 at 12:04:46PM +0100, Ben Dooks (Codethink) wrote:
> > > There are a number of structs in net/core/filter.c
> > > that are not exported or declared outside of the
> > > file. Fix the following warnings by making these
> > > all static:
> > > 
> > > net/core/filter.c:8465:31: warning: symbol 'sk_filter_verifier_ops' was not declared. Should it be static?
> > > net/core/filter.c:8472:27: warning: symbol 'sk_filter_prog_ops' was not declared. Should it be static?
> > [...]
> > > net/core/filter.c:8935:27: warning: symbol 'sk_reuseport_prog_ops' was not declared. Should it be static?
> > > 
> > > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> > > ---
> > > Cc: Alexei Starovoitov <ast@kernel.org>
> > > Cc: Daniel Borkmann <daniel@iogearbox.net>
> > > Cc: Martin KaFai Lau <kafai@fb.com>
> > > Cc: Song Liu <songliubraving@fb.com>
> > > Cc: Yonghong Song <yhs@fb.com>
> > > Cc: "David S. Miller" <davem@davemloft.net>
> > > Cc: Jakub Kicinski <jakub.kicinski@netronome.com>
> > > Cc: Jesper Dangaard Brouer <hawk@kernel.org>
> > > Cc: John Fastabend <john.fastabend@gmail.com>
> > > Cc: netdev@vger.kernel.org
> > > Cc: bpf@vger.kernel.org
> > > Cc: linux-kernel@vger.kernel.org
> > > ---
> > >   net/core/filter.c | 60 +++++++++++++++++++++++------------------------
> > >   1 file changed, 30 insertions(+), 30 deletions(-)
> > > 
> > > diff --git a/net/core/filter.c b/net/core/filter.c
> > > index ed6563622ce3..f7338fee41f8 100644
> > > --- a/net/core/filter.c
> > > +++ b/net/core/filter.c
> > > @@ -8462,18 +8462,18 @@ static u32 sk_msg_convert_ctx_access(enum bpf_access_type type,
> > >   	return insn - insn_buf;
> > >   }
> > > -const struct bpf_verifier_ops sk_filter_verifier_ops = {
> > > +static const struct bpf_verifier_ops sk_filter_verifier_ops = {
> > >   	.get_func_proto		= sk_filter_func_proto,
> > >   	.is_valid_access	= sk_filter_is_valid_access,
> > >   	.convert_ctx_access	= bpf_convert_ctx_access,
> > >   	.gen_ld_abs		= bpf_gen_ld_abs,
> > >   };
> > 
> > Big obvious NAK. I'm puzzled that you try to fix a compile warning, but without
> > even bothering to compile the result after your patch ...
> 
> builds fine. maybe some effort to stop this happening again should be made.

It doesn't build, because they are used/needed outside:

[...]
  CC      net/core/dev_ioctl.o
  CC      net/core/tso.o
net/core/filter.c:8467:38: error: static declaration of ‘sk_filter_verifier_ops’ follows non-static declaration
 8467 | static const struct bpf_verifier_ops sk_filter_verifier_ops = {
      |                                      ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/bpf-cgroup.h:5,
                 from ./include/linux/cgroup-defs.h:22,
                 from ./include/linux/cgroup.h:28,
                 from ./include/net/netprio_cgroup.h:11,
                 from ./include/linux/netdevice.h:42,
                 from ./include/net/sock.h:46,
                 from ./include/linux/sock_diag.h:8,
                 from net/core/filter.c:25:
./include/linux/bpf_types.h:5:44: note: previous declaration of ‘sk_filter_verifier_ops’ was here
    5 | BPF_PROG_TYPE(BPF_PROG_TYPE_SOCKET_FILTER, sk_filter)
      |                                            ^~~~~~~~~
./include/linux/bpf.h:625:39: note: in definition of macro ‘BPF_PROG_TYPE’
  625 |  extern const struct bpf_verifier_ops _name ## _verifier_ops;
      |                                       ^~~~~
[...] ( and more of the same errors ... )

  reply	other threads:[~2019-10-16 13:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-16 11:04 [PATCH] net: bpf: add static in net/core/filter.c Ben Dooks (Codethink)
2019-10-16 12:26 ` Daniel Borkmann
2019-10-16 13:02   ` Ben Dooks
2019-10-16 13:10     ` Daniel Borkmann [this message]
2019-10-16 13:11       ` Ben Dooks
2019-10-16 13:24         ` [Linux-kernel] " Ben Dooks
2019-10-16 17:44         ` David Miller

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=20191016131020.GE21367@pc-63.home \
    --to=daniel@iogearbox.net \
    --cc=ast@kernel.org \
    --cc=ben.dooks@codethink.co.uk \
    --cc=bpf@vger.kernel.org \
    --cc=davem@davemloft.net \
    --cc=hawk@kernel.org \
    --cc=jakub.kicinski@netronome.com \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=linux-kernel@lists.codethink.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /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.