[next] Makefile: Enable -Wstringop-overflow globally

Message ID ZVWMCZ/jb4nX3yHn@work
State New
Headers
Series [next] Makefile: Enable -Wstringop-overflow globally |

Commit Message

Gustavo A. R. Silva Nov. 16, 2023, 3:27 a.m. UTC
  It seems that we have finished addressing all the remaining
issues regarding compiler option -Wstringop-overflow. So, we
are now in good shape to enable this compiler option globally.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 Makefile                   | 3 +++
 scripts/Makefile.extrawarn | 2 --
 2 files changed, 3 insertions(+), 2 deletions(-)
  

Comments

Masahiro Yamada Nov. 16, 2023, 11:23 a.m. UTC | #1
On Thu, Nov 16, 2023 at 12:27 PM Gustavo A. R. Silva
<gustavoars@kernel.org> wrote:
>
> It seems that we have finished addressing all the remaining
> issues regarding compiler option -Wstringop-overflow. So, we
> are now in good shape to enable this compiler option globally.
>
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> ---
>  Makefile                   | 3 +++
>  scripts/Makefile.extrawarn | 2 --
>  2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 690cde550acd..452b7d0e19e9 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -985,6 +985,9 @@ NOSTDINC_FLAGS += -nostdinc
>  # perform bounds checking.
>  KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
>
> +# We are now in good shape to enable this option.

Please remove this comment.

It it fine to mention it in the commit log, but
not in the Makefile.



I hope somebody will double-check this patch in CI infrastructure.




> +KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
> +
>  # disable invalid "can't wrap" optimizations for signed / pointers
>  KBUILD_CFLAGS  += -fno-strict-overflow
>
> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
> index 2fe6f2828d37..1527199161d7 100644
> --- a/scripts/Makefile.extrawarn
> +++ b/scripts/Makefile.extrawarn
> @@ -106,7 +106,6 @@ KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
>  KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
>  KBUILD_CFLAGS += $(call cc-option, -Wformat-overflow)
>  KBUILD_CFLAGS += $(call cc-option, -Wformat-truncation)
> -KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
>  KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
>
>  KBUILD_CPPFLAGS += -Wundef
> @@ -122,7 +121,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
>  KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
>  KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
>  KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
> -KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
>  KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
>
>  ifdef CONFIG_CC_IS_CLANG
> --
> 2.34.1
>
  
Gustavo A. R. Silva Nov. 16, 2023, 2:18 p.m. UTC | #2
On 11/16/23 05:23, Masahiro Yamada wrote:
> On Thu, Nov 16, 2023 at 12:27 PM Gustavo A. R. Silva
> <gustavoars@kernel.org> wrote:
>>
>> It seems that we have finished addressing all the remaining
>> issues regarding compiler option -Wstringop-overflow. So, we
>> are now in good shape to enable this compiler option globally.
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
>> ---
>>   Makefile                   | 3 +++
>>   scripts/Makefile.extrawarn | 2 --
>>   2 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 690cde550acd..452b7d0e19e9 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -985,6 +985,9 @@ NOSTDINC_FLAGS += -nostdinc
>>   # perform bounds checking.
>>   KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
>>
>> +# We are now in good shape to enable this option.
> 
> Please remove this comment.
> 
> It it fine to mention it in the commit log, but
> not in the Makefile.

Sure thing. I'll change that and add this patch to my -next tree.

> 
> 
> 
> I hope somebody will double-check this patch in CI infrastructure.

I'll take care of that.

Thanks
--
Gustavo

> 
> 
> 
> 
>> +KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
>> +
>>   # disable invalid "can't wrap" optimizations for signed / pointers
>>   KBUILD_CFLAGS  += -fno-strict-overflow
>>
>> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
>> index 2fe6f2828d37..1527199161d7 100644
>> --- a/scripts/Makefile.extrawarn
>> +++ b/scripts/Makefile.extrawarn
>> @@ -106,7 +106,6 @@ KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
>>   KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
>>   KBUILD_CFLAGS += $(call cc-option, -Wformat-overflow)
>>   KBUILD_CFLAGS += $(call cc-option, -Wformat-truncation)
>> -KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
>>   KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
>>
>>   KBUILD_CPPFLAGS += -Wundef
>> @@ -122,7 +121,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
>>   KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
>>   KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
>>   KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
>> -KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
>>   KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
>>
>>   ifdef CONFIG_CC_IS_CLANG
>> --
>> 2.34.1
>>
> 
>
  

Patch

diff --git a/Makefile b/Makefile
index 690cde550acd..452b7d0e19e9 100644
--- a/Makefile
+++ b/Makefile
@@ -985,6 +985,9 @@  NOSTDINC_FLAGS += -nostdinc
 # perform bounds checking.
 KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
 
+# We are now in good shape to enable this option.
+KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
+
 # disable invalid "can't wrap" optimizations for signed / pointers
 KBUILD_CFLAGS	+= -fno-strict-overflow
 
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index 2fe6f2828d37..1527199161d7 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -106,7 +106,6 @@  KBUILD_CFLAGS += $(call cc-option, -Wunused-const-variable)
 KBUILD_CFLAGS += $(call cc-option, -Wpacked-not-aligned)
 KBUILD_CFLAGS += $(call cc-option, -Wformat-overflow)
 KBUILD_CFLAGS += $(call cc-option, -Wformat-truncation)
-KBUILD_CFLAGS += $(call cc-option, -Wstringop-overflow)
 KBUILD_CFLAGS += $(call cc-option, -Wstringop-truncation)
 
 KBUILD_CPPFLAGS += -Wundef
@@ -122,7 +121,6 @@  KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
 KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
 KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
 KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
-KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
 KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
 
 ifdef CONFIG_CC_IS_CLANG