2022-09-30 20:44:58

by Sami Tolvanen

[permalink] [raw]
Subject: [PATCH] Makefile.extrawarn: Move -Wcast-function-type-strict to W=1

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: [email protected]
Link: https://reviews.llvm.org/D134831
Link: https://github.com/ClangBuiltLinux/linux/issues/1724
Suggested-by: Nathan Chancellor <[email protected]>
Signed-off-by: Sami Tolvanen <[email protected]>
---
scripts/Makefile.extrawarn | 1 +
1 file changed, 1 insertion(+)

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

base-commit: 7bc6e90d7aa4170039abe80b9f4e8c8e4eb35091
--
2.38.0.rc1.362.ged0d419d3c-goog


2022-10-01 15:53:16

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH] Makefile.extrawarn: Move -Wcast-function-type-strict to W=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

--
Kees Cook