On Wed, Jul 19, 2017 at 11:50 PM, <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > ------------------------------------------------------ > From: Arnd Bergmann <arnd@xxxxxxxx> > Subject: kbuild: disable -Wformat-truncation warnings by default > > With x86 allmodconfig, we currently get 233 -Wformat-truncation warnings, > which makes the entire warnings rather useless. > > This turns off the warning by default, unless we specify W=1 or higher > > Link: http://lkml.kernel.org/r/20170714120720.906842-2-arnd@xxxxxxxx > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > scripts/Makefile.extrawarn | 3 +++ > 1 file changed, 3 insertions(+) > > diff -puN scripts/Makefile.extrawarn~kbuild-disable-wformat-truncation-warnings-by-default scripts/Makefile.extrawarn > --- a/scripts/Makefile.extrawarn~kbuild-disable-wformat-truncation-warnings-by-default > +++ a/scripts/Makefile.extrawarn > @@ -67,5 +67,8 @@ KBUILD_CFLAGS += $(call cc-disable-warni > KBUILD_CFLAGS += $(call cc-disable-warning, sign-compare) > KBUILD_CFLAGS += $(call cc-disable-warning, format-zero-length) > KBUILD_CFLAGS += $(call cc-disable-warning, uninitialized) > +else > +# noisy gcc-7 warnings > +KBUILD_CFLAGS += $(call cc-option,-Wformat-truncation=0) > endif > endif Hi Andrew, Linus, Greg, I noticed that Linus has made a similar patch in 4.13-rc1, commit bd664f6b3e37 ("disable new gcc-7.1.1 warnings for now"), and it completely disables three warnings (format-truncation, format-overflow and int-in-bool-context). Obviously there is no point in having both, so let's talk about what we want for 4.13, stable-backports and for future kernels, I'll then send those patches. Here is my first suggestion: - enable all three warnings with "make W=1" in 4.13, but leave them disabled by default. - backport Linus' patch, plus the follow-up for W=1 to stable kernels, to allow stable kernels to build cleanly - backport the patches that address any other gcc-7 warnings, as well as those that are not obvious false-positives to stable kernels - In 4.14+, use my version above and address all int-in-bool-context and format-overflow warnings, but only use -Wformat-truncation with make W=1. Any other suggestions? Arnd