All of lore.kernel.org
 help / color / mirror / Atom feed
From: david@stennet.com
To: Shuah Khan <skhan@linuxfoundation.org>
Cc: "Gustavo A. R. Silva" <gustavo@embeddedor.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Michal Marek <michal.lkml@markovi.net>,
	Kees Cook <keescook@chromium.org>,
	linux-kbuild@vger.kernel.org
Subject: [PATCH] Makefile: Globally enable fall-through warning
Date: Fri, 30 Jan 2026 21:40:50 -0800	[thread overview]
Message-ID: <20260131054051.6938-2-david@stennet.com> (raw)
In-Reply-To: <20260131054051.6938-1-david@stennet.com>

From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>

Now that all the fall-through warnings have been addressed in the
kernel, enable the fall-through warning globally.

Also, update the deprecated.rst file to include implicit fall-through
as 'deprecated' so people can be pointed to a single location for
justification.

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: Kees Cook <keescook@chromium.org>
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 Documentation/process/deprecated.rst | 14 ++++++++++++++
 Makefile                             |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/Documentation/process/deprecated.rst b/Documentation/process/deprecated.rst
index 49e0f64a3427..053b24a6dd38 100644
--- a/Documentation/process/deprecated.rst
+++ b/Documentation/process/deprecated.rst
@@ -119,3 +119,17 @@ array may exceed the remaining memory in the stack segment. This could
 lead to a crash, possible overwriting sensitive contents at the end of the
 stack (when built without `CONFIG_THREAD_INFO_IN_TASK=y`), or overwriting
 memory adjacent to the stack (when built without `CONFIG_VMAP_STACK=y`)
+
+Implicit switch case fall-through
+---------------------------------
+The C language allows switch cases to "fall through" when
+a "break" statement is missing at the end of a case. This,
+however, introduces ambiguity in the code, as it's not always
+clear if the missing break is intentional or a bug. As there
+have been a long list of flaws `due to missing "break" statements
+<https://cwe.mitre.org/data/definitions/484.html>`_, we no longer allow
+"implicit fall-through". In order to identify an intentional fall-through
+case, we have adopted the marking used by static analyzers: a comment
+saying `/* Fall through */`. Once the C++17 `__attribute__((fallthrough))`
+is more widely handled by C compilers, static analyzers, and IDEs, we can
+switch to using that instead.
diff --git a/Makefile b/Makefile
index 9be5834073f8..bdf8eac51b07 100644
--- a/Makefile
+++ b/Makefile
@@ -843,6 +843,9 @@ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 # warn about C99 declaration after statement
 KBUILD_CFLAGS += -Wdeclaration-after-statement
 
+# Warn about unmarked fall-throughs in switch statement.
+KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough=3,)
+
 # Variable Length Arrays (VLAs) should not be used anywhere in the kernel
 KBUILD_CFLAGS += -Wvla
 
-- 
2.34.1


       reply	other threads:[~2026-01-31  5:40 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260131054051.6938-1-david@stennet.com>
2026-01-31  5:40 ` david [this message]
2026-01-31  5:33   ` [PATCH] Makefile: Globally enable fall-through warning Gustavo A. R. Silva
     [not found] <my-first-patch>
2026-05-30  8:43 ` Manish-Shah
2026-05-03  8:44 Damika-Anupama
  -- strict thread matches above, loose matches on Subject: below --
2026-02-14  9:19 Rishabh
2026-01-22 15:53 Simone Rea
2026-01-22 18:19 ` Randy Dunlap
2026-01-22 18:44   ` Andrew Morton
2026-01-22 18:46     ` Randy Dunlap
2026-01-22 22:35       ` Miguel Ojeda
     [not found]       ` <CAEfWggNK7DgsRHXTE8BhWCTuDKyt6pMR_9UEHEs1NKPfPPyopw@mail.gmail.com>
2026-01-23  1:51         ` Gustavo A. R. Silva
2026-01-10  1:34 MIshraMohit21-LE
2026-01-10  3:12 ` Gustavo A. R. Silva
     [not found]   ` <CAP5HdgoFya1NfeJH0wT7KtzqaFmupn5C-kSwXNEtEdbq5bQSEw@mail.gmail.com>
2026-01-10  4:04     ` Gustavo A. R. Silva
2025-05-05 17:14 Omar el Azouny
2025-05-05 17:53 ` Miguel Ojeda
2022-05-17 17:35 ALOK JHA
2022-05-17 18:42 ` Andrew Morton
2022-05-17 18:46 ` Andrew Morton
2022-05-17 19:40   ` Jeff Johnson
2022-05-17 19:59   ` Gustavo A. R. Silva
2019-07-28 13:58 Guenter Roeck
2019-07-28 16:42 ` Gustavo A. R. Silva
2019-07-28 17:14   ` Guenter Roeck
2019-07-28 17:31     ` Gustavo A. R. Silva
2019-07-28 18:12       ` Guenter Roeck
2019-07-29  8:22   ` Geert Uytterhoeven
2019-07-29 14:42     ` Gustavo A. R. Silva

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=20260131054051.6938-2-david@stennet.com \
    --to=david@stennet.com \
    --cc=akpm@linux-foundation.org \
    --cc=gustavo@embeddedor.com \
    --cc=keescook@chromium.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=skhan@linuxfoundation.org \
    --cc=yamada.masahiro@socionext.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.