All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	Masahiro Yamada <masahiroy@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Nicolas Schier <nicolas@fjasle.eu>,
	Kees Cook <keescook@chromium.org>,
	Sami Tolvanen <samitolvanen@google.com>,
	linux-kbuild@vger.kernel.org
Subject: [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again
Date: Thu, 10 Aug 2023 16:19:35 +0200	[thread overview]
Message-ID: <20230810141947.1236730-18-arnd@kernel.org> (raw)
In-Reply-To: <20230810141947.1236730-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

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.

Move the options out of the W=1 section to have them enabled by
default.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
I'm sure there are still regressions with CONFIG_WERROR when this gets
turned on, but it's getting very close, so it might be best to already
enable this in linux-next but wait one extra merge window to have it in
mainline while the last fixes trickle in.
---
 scripts/Makefile.extrawarn | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 40cd13eca82e8..fda5f9087a863 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -15,6 +15,9 @@ ifeq ("$(origin W)", "command line")
   KBUILD_EXTRA_WARN := $(W)
 endif
 
+KBUILD_CFLAGS += -Wmissing-declarations
+KBUILD_CFLAGS += -Wmissing-prototypes
+
 export KBUILD_EXTRA_WARN
 
 #
@@ -23,9 +26,7 @@ export KBUILD_EXTRA_WARN
 ifneq ($(findstring 1, $(KBUILD_EXTRA_WARN)),)
 
 KBUILD_CFLAGS += -Wextra -Wunused -Wno-unused-parameter
-KBUILD_CFLAGS += -Wmissing-declarations
 KBUILD_CFLAGS += -Wmissing-format-attribute
-KBUILD_CFLAGS += -Wmissing-prototypes
 KBUILD_CFLAGS += -Wold-style-definition
 KBUILD_CFLAGS += -Wmissing-include-dirs
 KBUILD_CFLAGS += $(call cc-option, -Wunused-but-set-variable)
-- 
2.39.2


  parent reply	other threads:[~2023-08-10 14:25 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-10 14:19 [PATCH 00/17] -Wmissing-prototype warning fixes Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 01/17] [RESEND] jffs2: mark __jffs2_dbg_superblock_counts() static Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 02/17] [RESEND] irq_work: consolidate arch_irq_work_raise prototypes Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-11 22:10   ` Masahiro Yamada
2023-08-11 22:10     ` Masahiro Yamada
2023-08-11 22:10     ` Masahiro Yamada
2023-08-11 22:10     ` Masahiro Yamada
2023-08-12  7:34     ` Arnd Bergmann
2023-08-12  7:34       ` Arnd Bergmann
2023-08-12  7:34       ` Arnd Bergmann
2023-08-12  7:34       ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 03/17] [RESEND] ida: make 'ida_dump' static Arnd Bergmann
2023-08-10 14:19 ` [PATCH 04/17] pci: sysfs: move declarations to linux/pci.h Arnd Bergmann
2023-08-10 14:38   ` Bjorn Helgaas
2023-08-10 14:38     ` Bjorn Helgaas
2023-08-10 14:19 ` [PATCH 05/17] swim3: mark swim3_init() static Arnd Bergmann
2023-08-10 14:26   ` Jinpu Wang
2023-08-10 14:33   ` Jens Axboe
2023-08-10 14:19 ` [PATCH 06/17] macintosh/ams: mark ams_init() static Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 17:21   ` Christophe Leroy
2023-08-10 14:19 ` [PATCH 07/17] scsi: qlogicpti: mark qlogicpti_info() static Arnd Bergmann
2023-08-10 14:27   ` Jinpu Wang
2023-08-21 20:38   ` Martin K. Petersen
2023-08-10 14:19 ` [PATCH 08/17] microblaze: mark flush_dcache_folio() inline Arnd Bergmann
2023-08-23  7:34   ` Michal Simek
2023-08-10 14:19 ` [PATCH 09/17] parport: gsc: mark init function static Arnd Bergmann
2023-08-10 15:13   ` Helge Deller
2023-08-28 10:04   ` Sudip Mukherjee
2023-08-10 14:19 ` [PATCH 10/17] zorro: include zorro.h in names.c Arnd Bergmann
2023-08-16 15:49   ` Geert Uytterhoeven
2023-08-10 14:19 ` [PATCH 11/17] scsi: gvp11: remove unused gvp11_setup() function Arnd Bergmann
2023-08-16 15:52   ` Geert Uytterhoeven
2023-08-21 20:38   ` Martin K. Petersen
2023-08-10 14:19 ` [PATCH 12/17] time: make sysfs_get_uname() function visible in header Arnd Bergmann
2023-08-10 14:19 ` [PATCH 13/17] stackleak: add declarations for global functions Arnd Bergmann
2023-08-10 14:19 ` [PATCH 14/17] kprobes: unify kprobes_exceptions_nofify() prototypes Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-11 11:46   ` Masami Hiramatsu
2023-08-11 11:46     ` Masami Hiramatsu
2023-08-11 11:46     ` Masami Hiramatsu
2023-08-11 11:46     ` Masami Hiramatsu
2023-08-10 14:19 ` [PATCH 15/17] arch: fix asm-offsets.c building with -Wmissing-prototypes Arnd Bergmann
2023-08-11 22:12   ` Masahiro Yamada
2023-08-11 22:12     ` Masahiro Yamada
2023-08-12  7:46     ` Arnd Bergmann
2023-08-12  7:46       ` Arnd Bergmann
2023-08-10 14:19 ` [PATCH 16/17] [RFC] arch: turn -Wmissing-prototypes off conditionally Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:19   ` Arnd Bergmann
2023-08-10 14:59   ` Christophe Leroy
2023-08-10 14:59     ` Christophe Leroy
2023-08-10 14:59     ` Christophe Leroy
2023-08-10 14:59     ` Christophe Leroy
2023-08-10 15:21     ` Arnd Bergmann
2023-08-10 15:21       ` Arnd Bergmann
2023-08-10 15:21       ` Arnd Bergmann
2023-08-10 15:21       ` Arnd Bergmann
2023-08-10 15:59       ` Helge Deller
2023-08-10 15:59         ` Helge Deller
2023-08-10 15:59         ` Helge Deller
2023-08-10 15:59         ` Helge Deller
2023-08-10 19:15         ` Arnd Bergmann
2023-08-10 19:15           ` Arnd Bergmann
2023-08-10 19:15           ` Arnd Bergmann
2023-08-10 19:15           ` Arnd Bergmann
2023-08-11  2:33   ` Guo Ren
2023-08-11  2:33     ` Guo Ren
2023-08-11  2:33     ` Guo Ren
2023-08-11  2:33     ` Guo Ren
2023-08-11 18:25     ` Vineet Gupta
2023-08-11 18:25       ` Vineet Gupta
2023-08-11 18:25       ` Vineet Gupta
2023-08-11 18:25       ` Vineet Gupta
2023-08-11 20:09   ` Stafford Horne
2023-08-11 20:09     ` Stafford Horne
2023-08-11 20:09     ` Stafford Horne
2023-08-11 20:09     ` Stafford Horne
2023-08-12  8:02     ` Arnd Bergmann
2023-08-12  8:02       ` Arnd Bergmann
2023-08-12  8:02       ` Arnd Bergmann
2023-08-12  8:02       ` Arnd Bergmann
2023-08-10 14:19 ` Arnd Bergmann [this message]
2023-08-10 19:02   ` [PATCH 17/17] [RFC] Makefile.extrawarn: turn on missing-prototypes again Kees Cook
2023-08-16 14:38 ` [PATCH 00/17] -Wmissing-prototype warning fixes Palmer Dabbelt
2023-08-16 14:38   ` Palmer Dabbelt
2023-08-16 14:38   ` Palmer Dabbelt
2023-08-16 14:38   ` Palmer Dabbelt
2023-08-16 14:38   ` Palmer Dabbelt
2023-08-16 14:38   ` Palmer Dabbelt
2023-08-23 11:55 ` (subset) " Michael Ellerman
2023-08-25  1:12 ` Martin K. Petersen
2023-08-25  1:12   ` Martin K. Petersen
2023-08-25  1:12   ` Martin K. Petersen
2023-08-25  1:12   ` Martin K. Petersen
2023-08-25  1:12   ` Martin K. Petersen
2023-08-25  1:12   ` Martin K. Petersen
2023-08-25  1:30   ` Michael Schmitz
2023-08-25  1:30     ` Michael Schmitz
2023-08-25  1:30     ` Michael Schmitz
2023-08-25  1:30     ` Michael Schmitz
2023-08-25  1:30     ` Michael Schmitz
2023-08-25  1:30     ` Michael Schmitz
2023-08-25  7:39     ` Geert Uytterhoeven
2023-08-25  7:39       ` Geert Uytterhoeven
2023-08-25  7:39       ` Geert Uytterhoeven
2023-08-25  7:39       ` Geert Uytterhoeven
2023-08-25  7:39       ` Geert Uytterhoeven
2023-08-25  7:39       ` Geert Uytterhoeven
2023-08-25 22:44       ` Michael Schmitz
2023-08-25 22:44         ` Michael Schmitz
2023-08-25 22:44         ` Michael Schmitz
2023-08-25 22:44         ` Michael Schmitz
2023-08-25 22:44         ` Michael Schmitz
2023-08-25 22:44         ` Michael Schmitz
2023-08-28  6:42         ` Geert Uytterhoeven
2023-08-28  6:42           ` Geert Uytterhoeven
2023-08-28  6:42           ` Geert Uytterhoeven
2023-08-28  6:42           ` Geert Uytterhoeven
2023-08-28  6:42           ` Geert Uytterhoeven
2023-08-28  6:42           ` Geert Uytterhoeven
2023-08-28  8:07           ` Michael Schmitz
2023-08-28  8:07             ` Michael Schmitz
2023-08-28  8:07             ` Michael Schmitz
2023-08-28  8:07             ` Michael Schmitz
2023-08-28  8:07             ` Michael Schmitz
2023-08-28  8:07             ` Michael Schmitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230810141947.1236730-18-arnd@kernel.org \
    --to=arnd@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=keescook@chromium.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    --cc=samitolvanen@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.