On 16/10/2019 14:11, Ben Dooks wrote:
On 16/10/2019 14:10, Daniel Borkmann wrote:
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 <[email protected]>
---
Cc: Alexei Starovoitov <[email protected]>
Cc: Daniel Borkmann <[email protected]>
Cc: Martin KaFai Lau <[email protected]>
Cc: Song Liu <[email protected]>
Cc: Yonghong Song <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Jesper Dangaard Brouer <[email protected]>
Cc: John Fastabend <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
---
   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:

Hmm, your config it does, I get /none/ of these warnings.

I guess a lot of this is being built whether or not is then used.

Without CONFIG_BPF_SYSCALL, a part of net/core/filter.c is being
built but then not declared or used. Should this be split up or
the areas not being built be removed?

--
Ben Dooks                               http://www.codethink.co.uk/
Senior Engineer                         Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html

Reply via email to