Re: [PATCH v3] bpf: fix build warning - missing prototype

From: Daniel Borkmann
Date: Fri Mar 27 2020 - 16:34:16 EST


On 3/27/20 8:55 AM, Jean-Philippe Menil wrote:
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 by Alexei.

Signed-off-by: Jean-Philippe Menil <jpmenil@xxxxxxxxx>

Looks better, but this doesn't apply cleanly. Please respin to latest bpf-next tree, thanks.

---
net/bpf/test_run.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c
index d555c0d8657d..cc1592413fc3 100644
--- a/net/bpf/test_run.c
+++ b/net/bpf/test_run.c
@@ -113,6 +113,9 @@ static int bpf_test_finish(const union bpf_attr *kattr,
* architecture dependent calling conventions. 7+ can be supported in the
* future.
*/
+__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)
{
return a + 1;
@@ -143,6 +146,8 @@ int noinline bpf_fentry_test6(u64 a, void *b, short c, int d, void *e, u64 f)
return a + (long)b + c + d + (long)e + f;
}
+__diag_pop();
+
static void *bpf_test_init(const union bpf_attr *kattr, u32 size,
u32 headroom, u32 tailroom)
{