Message ID | 20180920172301.21868-14-miguel.ojeda.sandonis@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Compiler Attributes | expand |
On Thu, Sep 20, 2018 at 10:23 AM Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote: > > Commit 217c3e019675 ("disable stringop truncation warnings for now") > disabled -Wstringop-truncation since it was too noisy. > > Having __nonstring available allows us to let GCC know that a string > is not meant to be NUL-terminated, which helps suppressing some > -Wstringop-truncation warnings. > > Note that using __nonstring actually triggers other warnings > (-Wstringop-overflow, which is on by default) which may be real > problems. Therefore, cleaning up -Wstringop-truncation warnings > also buys us the ability to uncover further potential problems. > > To encourage the use of __nonstring, we put the warning back at W=1. > In the future, if we end up with a fairly warning-free tree, > we might want to enable it by default. > > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> > --- > scripts/Makefile.extrawarn | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 8d5357053f86..b8f36f5f43f2 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -29,6 +29,7 @@ warning-1 += $(call cc-option, -Wmissing-include-dirs) > warning-1 += $(call cc-option, -Wunused-but-set-variable) > warning-1 += $(call cc-option, -Wunused-const-variable) > warning-1 += $(call cc-option, -Wpacked-not-aligned) > +warning-1 += $(call cc-option, -Wstringop-truncation) > warning-1 += $(call cc-disable-warning, missing-field-initializers) > warning-1 += $(call cc-disable-warning, sign-compare) > > -- > 2.17.1 > I was sad to see these go in the first place. Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
On Thu, Sep 20, 2018 at 10:22 AM, Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> wrote: > Commit 217c3e019675 ("disable stringop truncation warnings for now") > disabled -Wstringop-truncation since it was too noisy. > > Having __nonstring available allows us to let GCC know that a string > is not meant to be NUL-terminated, which helps suppressing some > -Wstringop-truncation warnings. > > Note that using __nonstring actually triggers other warnings > (-Wstringop-overflow, which is on by default) which may be real > problems. Therefore, cleaning up -Wstringop-truncation warnings > also buys us the ability to uncover further potential problems. > > To encourage the use of __nonstring, we put the warning back at W=1. > In the future, if we end up with a fairly warning-free tree, > we might want to enable it by default. > > Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Yessss. :) Reviewed-by: Kees Cook <keescook@chromium.org> -Kees > --- > scripts/Makefile.extrawarn | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn > index 8d5357053f86..b8f36f5f43f2 100644 > --- a/scripts/Makefile.extrawarn > +++ b/scripts/Makefile.extrawarn > @@ -29,6 +29,7 @@ warning-1 += $(call cc-option, -Wmissing-include-dirs) > warning-1 += $(call cc-option, -Wunused-but-set-variable) > warning-1 += $(call cc-option, -Wunused-const-variable) > warning-1 += $(call cc-option, -Wpacked-not-aligned) > +warning-1 += $(call cc-option, -Wstringop-truncation) > warning-1 += $(call cc-disable-warning, missing-field-initializers) > warning-1 += $(call cc-disable-warning, sign-compare) > > -- > 2.17.1 >
On Thu, Sep 20, 2018 at 9:56 PM Kees Cook <keescook@chromium.org> wrote: > > Yessss. :) > > Reviewed-by: Kees Cook <keescook@chromium.org> Done! Thanks! :) Cheers, Miguel
diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn index 8d5357053f86..b8f36f5f43f2 100644 --- a/scripts/Makefile.extrawarn +++ b/scripts/Makefile.extrawarn @@ -29,6 +29,7 @@ warning-1 += $(call cc-option, -Wmissing-include-dirs) warning-1 += $(call cc-option, -Wunused-but-set-variable) warning-1 += $(call cc-option, -Wunused-const-variable) warning-1 += $(call cc-option, -Wpacked-not-aligned) +warning-1 += $(call cc-option, -Wstringop-truncation) warning-1 += $(call cc-disable-warning, missing-field-initializers) warning-1 += $(call cc-disable-warning, sign-compare)
Commit 217c3e019675 ("disable stringop truncation warnings for now") disabled -Wstringop-truncation since it was too noisy. Having __nonstring available allows us to let GCC know that a string is not meant to be NUL-terminated, which helps suppressing some -Wstringop-truncation warnings. Note that using __nonstring actually triggers other warnings (-Wstringop-overflow, which is on by default) which may be real problems. Therefore, cleaning up -Wstringop-truncation warnings also buys us the ability to uncover further potential problems. To encourage the use of __nonstring, we put the warning back at W=1. In the future, if we end up with a fairly warning-free tree, we might want to enable it by default. Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> --- scripts/Makefile.extrawarn | 1 + 1 file changed, 1 insertion(+)