Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
Sami Tolvanen authored
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: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarSami Tolvanen <samitolvanen@google.com>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220930203310.4010564-1-samitolvanen@google.com
21206351
Name Last commit Last update
Documentation string: Introduce strtomem() and strtomem_pad()
LICENSES LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers
arch sparc: Unbreak the build
block Merge tag 'block-6.0-2022-08-19' of git://git.kernel.dk/linux-block
certs Merge tag 'kbuild-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
crypto crypto: blake2b: effectively disable frame size warning
drivers dm: verity-loadpin: Only trust verity targets with enforcement
fs Merge tag '6.0-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
include fortify: Convert to struct vs member helpers
init asm goto: eradicate CC_HAS_ASM_GOTO
io_uring io_uring/net: use right helpers for async_data
ipc Merge tag 'mm-nonmm-stable-2022-08-06-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
kernel Merge tag 'trace-v6.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
lib fortify: Adjust KUnit test for modular build
mm Merge tag 'mm-stable-2022-08-09' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
net tcp: handle pure FIN case correctly
samples Merge tag 'trace-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
scripts Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
security hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
sound Merge tag 'sound-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
tools lkdtm: Update tests for memcpy() run-time warnings
usr Merge tag 'mm-nonmm-stable-2022-05-26' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
virt KVM: Drop unnecessary initialization of "ops" in kvm_ioctl_create_device()
.clang-format PCI/DOE: Add DOE mailbox support functions
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl
.gitattributes .gitattributes: use 'dts' diff driver for dts files
.gitignore kbuild: split the second line of *.mod into *.usyms
.mailmap Merge tag 'mm-nonmm-stable-2022-08-06-2' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
COPYING COPYING: state that all contributions really are covered by this file
CREDITS Merge tag 'drm-next-2022-08-03' of git://anongit.freedesktop.org/drm/drm
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y
Kconfig kbuild: ensure full rebuild when the compiler is updated
MAINTAINERS fortify: Add KUnit test for FORTIFY_SOURCE internals
Makefile hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
README Drop all 00-INDEX files from Documentation/
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.