[arm-platforms:hack/m1-pmu 8/8] drivers/perf/apple_m1_cpu_pmu.c:100:32: warning: initializer overrides prior initialization of this subobject

Ard Biesheuvel ardb at kernel.org
Sun Nov 14 03:07:28 PST 2021


On Sun, 14 Nov 2021 at 11:11, Marc Zyngier <maz at kernel.org> wrote:
>
> On 2021-11-14 08:25, kernel test robot wrote:
> > tree:
> > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
> > hack/m1-pmu
> > head:   a905c66ae0b391425e9ad7f261ad7b4c33af2c07
> > commit: a905c66ae0b391425e9ad7f261ad7b4c33af2c07 [8/8] drivers/perf:
> > Add Apple icestorm/firestorm CPU PMU driver
> > config: arm64-randconfig-r036-20211114 (attached as .config)
> > compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project
> > c3dddeeafb529e769cde87bd29ef6271ac6bfa5c)
> > reproduce (this is a W=1 build):
> >         wget
> > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
> > -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         # install arm64 cross compiling tool for clang build
> >         # apt-get install binutils-aarch64-linux-gnu
> >         #
> > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/commit/?id=a905c66ae0b391425e9ad7f261ad7b4c33af2c07
> >         git remote add arm-platforms
> > https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
> >         git fetch --no-tags arm-platforms hack/m1-pmu
> >         git checkout a905c66ae0b391425e9ad7f261ad7b4c33af2c07
> >         # save the attached .config to linux build tree
> >         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1
> > ARCH=arm64
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp at intel.com>
> >
> > All warnings (new ones prefixed by >>):
> >
> >>> drivers/perf/apple_m1_cpu_pmu.c:100:32: warning: initializer
> >>> overrides prior initialization of this subobject
> >>> [-Winitializer-overrides]
> >            [M1_PMU_PERFCTR_UNKNOWN_01]     = BIT(7),
> >                                              ^~~~~~
> >    include/vdso/bits.h:7:19: note: expanded from macro 'BIT'
> >    #define BIT(nr)                 (UL(1) << (nr))
> >                                    ^~~~~~~~~~~~~~~
> >    drivers/perf/apple_m1_cpu_pmu.c:99:32: note: previous initialization
> > is here
> >            [0 ... M1_PMU_PERFCTR_LAST]     = ANY_BUT_0_1,
> >                                              ^~~~~~~~~~~
>
> Oh please, not that thing again. I've commented on this many times,
> and this warning is just bogus. Initialisation override is a necessity,
> and working around this warning leads to something that is far less
> maintainable, and thus more *dangerous* than this.
>
> I really wish this warning was simply turned off, because it only
> leads to the robot emails to be ignored do to the number of false
> positives.
>

Agreed, very annoying indeed. Should we just do

diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index d53825503874..feeed72fe011 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -36,6 +36,7 @@ KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
 KBUILD_CFLAGS += -Wno-missing-field-initializers
 KBUILD_CFLAGS += -Wno-sign-compare
 KBUILD_CFLAGS += -Wno-type-limits
+KBUILD_CFLAGS += $(call cc-option, -Wno-initializer-overrides)

 KBUILD_CPPFLAGS += -DKBUILD_EXTRA_WARN1

@@ -45,7 +46,6 @@ else
 # Suppress them by using -Wno... except for W=1.

 ifdef CONFIG_CC_IS_CLANG
-KBUILD_CFLAGS += -Wno-initializer-overrides
 KBUILD_CFLAGS += -Wno-format
 KBUILD_CFLAGS += -Wno-sign-compare
 KBUILD_CFLAGS += -Wno-format-zero-length



More information about the linux-arm-kernel mailing list