Patch "Disable "maybe-uninitialized" warning globally" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
Disable "maybe-uninitialized" warning globally
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
disable-maybe-uninitialized-warning-globally.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
6e8d666e925333c55378e8d5540a8a9ee0eea9c5Mon Sep 17 00:00:00 2001
From: Linus Torvalds <[email protected]>
Date: Wed, 27 Jul 2016 13:17:41 -0700
Subject: Disable "maybe-uninitialized" warning globally
From: Linus Torvalds <[email protected]>
commit 6e8d666e925333c55378e8d5540a8a9ee0eea9c5 upstream.
Several build configurations had already disabled this warning because it generates a lot of false positives. But some had not, and it was still enabled for "allmodconfig" builds, for example.
Looking at the warnings produced, every single one I looked at was a false positive, and the warnings are frequent enough (and big enough) that they can easily hide real problems that you don't notice in the noise generated by -Wmaybe-uninitialized.
The warning is good in theory, but this is a classic case of a warning that causes more problems than the warning can solve.
If gcc gets better at avoiding false positives, we may be able to re-enable this warning. But as is, we're better off without it, and I want to be able to see the *real* warnings.
--- Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
Makefile +4 -3
@@ -368,7 +368,7 @@ AFLAGS_MODULE = LDFLAGS_MODULE = CFLAGS_KERNEL = AFLAGS_KERNEL = -CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im -Wno-maybe-uninitialized +CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im # Use USERINCLUDE when you must reference the UAPI directories only.
@@ -616,12 +616,13 @@ ARCH_CFLAGS := include arch/$(SRCARCH)/Makefile KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) +KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE -KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) +KBUILD_CFLAGS += -Os else ifdef CONFIG_PROFILE_ALL_BRANCHES -KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) +KBUILD_CFLAGS += -O2 else KBUILD_CFLAGS += -O2 endif
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/disable-maybe-uninitialized-warning-globally.patch queue-4.4/include-linux-kernel.h-change-abs-macro-so-it-uses-consistent-return-type.patch queue-4.4/makefile-mute-warning-for-__builtin_return_address-0-for-tracing-only.patch queue-4.4/add-braces-to-avoid-ambiguous-else-compiler-warnings.patch queue-4.4/ocfs2-fix-start-offset-to-ocfs2_zero_range_for_truncate.patch queue-4.4/tools-support-relative-directory-path-for-o.patch queue-4.4/disable-frame-address-warning.patch queue-4.4/ocfs2-dlm-fix-race-between-convert-and-migration.patch queue-4.4/reiserfs-fix-new_insert_key-may-be-used-uninitialized.patch