On Thu, Jun 6, 2019 at 8:08 PM Valdis Klētnieks <valdis.kletnieks@xxxxxx> wrote: > > Compiling kernel/bpf/core.c with W=1 causes a flood of warnings: > > kernel/bpf/core.c:1198:65: warning: initialized field overwritten [-Woverride-init] > 1198 | #define BPF_INSN_3_TBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = true > | ^~~~ > kernel/bpf/core.c:1087:2: note: in expansion of macro 'BPF_INSN_3_TBL' > 1087 | INSN_3(ALU, ADD, X), \ > | ^~~~~~ > kernel/bpf/core.c:1202:3: note: in expansion of macro 'BPF_INSN_MAP' > 1202 | BPF_INSN_MAP(BPF_INSN_2_TBL, BPF_INSN_3_TBL), > | ^~~~~~~~~~~~ > kernel/bpf/core.c:1198:65: note: (near initialization for 'public_insntable[12]') > 1198 | #define BPF_INSN_3_TBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = true > | ^~~~ > kernel/bpf/core.c:1087:2: note: in expansion of macro 'BPF_INSN_3_TBL' > 1087 | INSN_3(ALU, ADD, X), \ > | ^~~~~~ > kernel/bpf/core.c:1202:3: note: in expansion of macro 'BPF_INSN_MAP' > 1202 | BPF_INSN_MAP(BPF_INSN_2_TBL, BPF_INSN_3_TBL), > | ^~~~~~~~~~~~ > > 98 copies of the above. > > The attached patch silences the warnings, because we *know* we're overwriting > the default initializer. That leaves bpf/core.c with only 6 other warnings, > which become more visible in comparison. > > Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Thanks! Please include bpf-next in [PATCH] prefix in the future. I've also CC'ed bpf@xxxxxxxxxxxxxxx list. Acked-by: Andrii Nakryiko <andriin@xxxxxx> > > diff --git a/kernel/bpf/Makefile b/kernel/bpf/Makefile > index 4c2fa3ac56f6..2606665f2cb5 100644 > --- a/kernel/bpf/Makefile > +++ b/kernel/bpf/Makefile > @@ -21,3 +21,4 @@ obj-$(CONFIG_CGROUP_BPF) += cgroup.o > ifeq ($(CONFIG_INET),y) > obj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o > endif > +CFLAGS_core.o += $(call cc-disable-warning, override-init) > >