Re: + kbuild-disable-wformat-truncation-warnings-by-default.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]