Makefile.extrawarn: turn on missing-prototypes globally
Over the years we went from > 1000 of warnings to under 100 earlier this year, and I sent patches to address all the ones that I saw with compile testing randcom configs on arm64, arm and x86 kernels. This is a really useful warning, as it catches real bugs when there are mismatched prototypes. In particular with kernel control flow integrity enabled, those are no longer allowed. I have done extensive testing to ensure that there are no new build errors or warnings on any configuration of x86, arm and arm64 builds. I also made sure that at least both the normal defconfig and an allmodconfig build is clean for arc, csky, loongarch, m68k, microblaze, openrisc, parisc, powerpc, riscv, s390, and xtensa, with the respective maintainers doing most of the patches. At this point, there are five architectures with a number of known regressions: alpha, nios2, mips, sh and sparc. In the previous version of this patch, I had turned off the missing prototype warnings for the 15 architectures that still had issues, but since there are only five left, I think we can leave the rest to the maintainers (Cc'd here) as well. Link: https://lkml.kernel.org/r/20231123110506.707903-7-arnd@kernel.org Link: https://lore.kernel.org/lkml/20230810141947.1236730-1-arnd@kernel.org/ Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> # RISC-V Cc: Richard Henderson <richard.henderson@linaro.org> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Matt Turner <mattst88@gmail.com> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nathan Chancellor <nathan@kernel.org> Cc: Nicolas Schier <nicolas@fjasle.eu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Richard Weinberger <richard@nod.at> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Cc: Tudor Ambarus <tudor.ambarus@linaro.org> Cc: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
bbe4f634f4
commit
0fcb70851f
@ -17,6 +17,8 @@ KBUILD_CFLAGS += -Wno-format-security
|
|||||||
KBUILD_CFLAGS += -Wno-trigraphs
|
KBUILD_CFLAGS += -Wno-trigraphs
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
||||||
|
KBUILD_CFLAGS += -Wmissing-declarations
|
||||||
|
KBUILD_CFLAGS += -Wmissing-prototypes
|
||||||
|
|
||||||
ifneq ($(CONFIG_FRAME_WARN),0)
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
||||||
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
|
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
|
||||||
@ -95,10 +97,8 @@ export KBUILD_EXTRA_WARN
|
|||||||
ifneq ($(findstring 1, $(KBUILD_EXTRA_WARN)),)
|
ifneq ($(findstring 1, $(KBUILD_EXTRA_WARN)),)
|
||||||
|
|
||||||
KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter
|
KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter
|
||||||
KBUILD_CFLAGS += -Wmissing-declarations
|
|
||||||
KBUILD_CFLAGS += $(call cc-option, -Wrestrict)
|
KBUILD_CFLAGS += $(call cc-option, -Wrestrict)
|
||||||
KBUILD_CFLAGS += -Wmissing-format-attribute
|
KBUILD_CFLAGS += -Wmissing-format-attribute
|
||||||
KBUILD_CFLAGS += -Wmissing-prototypes
|
|
||||||
KBUILD_CFLAGS += -Wold-style-definition
|
KBUILD_CFLAGS += -Wold-style-definition
|
||||||
KBUILD_CFLAGS += -Wmissing-include-dirs
|
KBUILD_CFLAGS += -Wmissing-include-dirs
|
||||||
KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
|
KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
|
||||||
|
Loading…
Reference in New Issue
Block a user