diff mbox series

Makefile.extrawarn: Move -Wcast-function-type-strict to W=1

Message ID 20220930203310.4010564-1-samitolvanen@google.com (mailing list archive)
State New, archived
Headers show
Series Makefile.extrawarn: Move -Wcast-function-type-strict to W=1 | expand

Commit Message

Sami Tolvanen Sept. 30, 2022, 8:33 p.m. UTC
We enable -Wcast-function-type globally in the kernel to warn about
mismatching types in function pointer casts. Compilers currently
warn only about ABI incompability with this flag, but Clang 16 will
enable a stricter version of the check by default that checks for an
exact type match. This will be very noisy in the kernel, so disable
-Wcast-function-type-strict without W=1 until the new warnings have
been addressed.

Cc: stable@vger.kernel.org
Link: https://reviews.llvm.org/D134831
Link: https://github.com/ClangBuiltLinux/linux/issues/1724
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
---
 scripts/Makefile.extrawarn | 1 +
 1 file changed, 1 insertion(+)


base-commit: 7bc6e90d7aa4170039abe80b9f4e8c8e4eb35091

Comments

Kees Cook Oct. 1, 2022, 2:48 p.m. UTC | #1
On Fri, 30 Sep 2022 20:33:10 +0000, Sami Tolvanen wrote:
> We enable -Wcast-function-type globally in the kernel to warn about
> mismatching types in function pointer casts. Compilers currently
> warn only about ABI incompability with this flag, but Clang 16 will
> enable a stricter version of the check by default that checks for an
> exact type match. This will be very noisy in the kernel, so disable
> -Wcast-function-type-strict without W=1 until the new warnings have
> been addressed.
> 
> [...]

Applied to for-next/hardening, thanks!

[1/1] Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
      https://git.kernel.org/kees/c/2120635108b3
diff mbox series

Patch

diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 6ae482158bc4..52bd7df84fd6 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -64,6 +64,7 @@  KBUILD_CFLAGS += -Wno-sign-compare
 KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast)
 KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare
 KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access)
+KBUILD_CFLAGS += $(call cc-disable-warning, cast-function-type-strict)
 endif
 
 endif