Message ID | 20200718115135.34856-1-wanghai38@huawei.com |
---|---|
State | Rejected |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [-next] bpf: Make some functions static | expand |
On 7/18/20 4:51 AM, Wang Hai wrote: > Fix sparse build warning: > > net/bpf/test_run.c:120:14: warning: > symbol 'bpf_fentry_test1' was not declared. Should it be static? > net/bpf/test_run.c:125:14: warning: > symbol 'bpf_fentry_test2' was not declared. Should it be static? > net/bpf/test_run.c:130:14: warning: > symbol 'bpf_fentry_test3' was not declared. Should it be static? > net/bpf/test_run.c:135:14: warning: > symbol 'bpf_fentry_test4' was not declared. Should it be static? > net/bpf/test_run.c:140:14: warning: > symbol 'bpf_fentry_test5' was not declared. Should it be static? > net/bpf/test_run.c:145:14: warning: > symbol 'bpf_fentry_test6' was not declared. Should it be static? > net/bpf/test_run.c:154:14: warning: > symbol 'bpf_fentry_test7' was not declared. Should it be static? > net/bpf/test_run.c:159:14: warning: > symbol 'bpf_fentry_test8' was not declared. Should it be static? > net/bpf/test_run.c:164:14: warning: > symbol 'bpf_modify_return_test' was not declared. Should it be static? > > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: Wang Hai <wanghai38@huawei.com> Please see commit: commit e9ff9d52540a53ce8c9eff5bf8b66467fe81eb2b Author: Jean-Philippe Menil <jpmenil@gmail.com> Date: Fri Mar 27 21:47:13 2020 +0100 bpf: Fix build warning regarding missing prototypes Fix build warnings when building net/bpf/test_run.o with W=1 due to missing prototype for bpf_fentry_test{1..6}. Instead of declaring prototypes, turn off warnings with __diag_{push,ignore,pop} as pointed out by Alexei. You probably use an old compiler (gcc < 8) which is why the warning is emitted. > --- > net/bpf/test_run.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c > index b03c469cd01f..0d78bd9b6c9d 100644 > --- a/net/bpf/test_run.c > +++ b/net/bpf/test_run.c > @@ -117,32 +117,32 @@ static int bpf_test_finish(const union bpf_attr *kattr, > __diag_push(); > __diag_ignore(GCC, 8, "-Wmissing-prototypes", > "Global functions as their definitions will be in vmlinux BTF"); > -int noinline bpf_fentry_test1(int a) > +static noinline int bpf_fentry_test1(int a) > { > return a + 1; > } > > -int noinline bpf_fentry_test2(int a, u64 b) > +static noinline int bpf_fentry_test2(int a, u64 b) > { > return a + b; > } > > -int noinline bpf_fentry_test3(char a, int b, u64 c) > +static noinline int bpf_fentry_test3(char a, int b, u64 c) > { > return a + b + c; > } > [...]
diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c index b03c469cd01f..0d78bd9b6c9d 100644 --- a/net/bpf/test_run.c +++ b/net/bpf/test_run.c @@ -117,32 +117,32 @@ static int bpf_test_finish(const union bpf_attr *kattr, __diag_push(); __diag_ignore(GCC, 8, "-Wmissing-prototypes", "Global functions as their definitions will be in vmlinux BTF"); -int noinline bpf_fentry_test1(int a) +static noinline int bpf_fentry_test1(int a) { return a + 1; } -int noinline bpf_fentry_test2(int a, u64 b) +static noinline int bpf_fentry_test2(int a, u64 b) { return a + b; } -int noinline bpf_fentry_test3(char a, int b, u64 c) +static noinline int bpf_fentry_test3(char a, int b, u64 c) { return a + b + c; } -int noinline bpf_fentry_test4(void *a, char b, int c, u64 d) +static noinline int bpf_fentry_test4(void *a, char b, int c, u64 d) { return (long)a + b + c + d; } -int noinline bpf_fentry_test5(u64 a, void *b, short c, int d, u64 e) +static noinline int bpf_fentry_test5(u64 a, void *b, short c, int d, u64 e) { return a + (long)b + c + d + e; } -int noinline bpf_fentry_test6(u64 a, void *b, short c, int d, void *e, u64 f) +static noinline int bpf_fentry_test6(u64 a, void *b, short c, int d, void *e, u64 f) { return a + (long)b + c + d + (long)e + f; } @@ -151,17 +151,17 @@ struct bpf_fentry_test_t { struct bpf_fentry_test_t *a; }; -int noinline bpf_fentry_test7(struct bpf_fentry_test_t *arg) +static noinline int bpf_fentry_test7(struct bpf_fentry_test_t *arg) { return (long)arg; } -int noinline bpf_fentry_test8(struct bpf_fentry_test_t *arg) +static noinline int bpf_fentry_test8(struct bpf_fentry_test_t *arg) { return (long)arg->a; } -int noinline bpf_modify_return_test(int a, int *b) +static noinline int bpf_modify_return_test(int a, int *b) { *b += 1; return a + *b;
Fix sparse build warning: net/bpf/test_run.c:120:14: warning: symbol 'bpf_fentry_test1' was not declared. Should it be static? net/bpf/test_run.c:125:14: warning: symbol 'bpf_fentry_test2' was not declared. Should it be static? net/bpf/test_run.c:130:14: warning: symbol 'bpf_fentry_test3' was not declared. Should it be static? net/bpf/test_run.c:135:14: warning: symbol 'bpf_fentry_test4' was not declared. Should it be static? net/bpf/test_run.c:140:14: warning: symbol 'bpf_fentry_test5' was not declared. Should it be static? net/bpf/test_run.c:145:14: warning: symbol 'bpf_fentry_test6' was not declared. Should it be static? net/bpf/test_run.c:154:14: warning: symbol 'bpf_fentry_test7' was not declared. Should it be static? net/bpf/test_run.c:159:14: warning: symbol 'bpf_fentry_test8' was not declared. Should it be static? net/bpf/test_run.c:164:14: warning: symbol 'bpf_modify_return_test' was not declared. Should it be static? Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wang Hai <wanghai38@huawei.com> --- net/bpf/test_run.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)