From: Siddhesh Poyarekar <siddhesh@gotplt.org>
To: Alejandro Colomar <alx.manpages@gmail.com>, gcc@gcc.gnu.org
Cc: Alejandro Colomar <alx@kernel.org>,
Andreas Schwab <schwab@linux-m68k.org>,
David Malcolm <dmalcolm@redhat.com>,
Florian Weimer <fweimer@redhat.com>,
Iker Pedrosa <ipedrosa@redhat.com>,
Jens Gustedt <jens.gustedt@inria.fr>,
Jonathan Wakely <jwakely.gcc@gmail.com>,
Mark Wielaard <mark@klomp.org>, Martin Uecker <uecker@tugraz.at>,
Michael Kerrisk <mtk.manpages@gmail.com>,
Paul Eggert <eggert@cs.ucla.edu>, Sam James <sam@gentoo.org>,
Yann Droneaud <ydroneaud@opteya.com>
Subject: Re: [PATCH] Make -Wuse-after-free=3 the default one in -Wall
Date: Fri, 17 Feb 2023 16:39:32 -0500 [thread overview]
Message-ID: <193404c7-20ac-7ba3-e010-f8921721fdb8@gotplt.org> (raw)
In-Reply-To: <20230217212044.5178-1-alx@kernel.org>
On 2023-02-17 16:20, Alejandro Colomar wrote:
> Link: <https://inbox.sourceware.org/gcc/3098fd18-9dbf-b4e9-bae5-62ec6fea74cd@opteya.com/T/>
> Link: <https://github.com/shadow-maint/shadow/pull/649#discussion_r1108350066>
> Cc: Andreas Schwab <schwab@linux-m68k.org>
> Cc: David Malcolm <dmalcolm@redhat.com>
> Cc: Florian Weimer <fweimer@redhat.com>
> Cc: Iker Pedrosa <ipedrosa@redhat.com>
> Cc: Jens Gustedt <jens.gustedt@inria.fr>
> Cc: Jonathan Wakely <jwakely.gcc@gmail.com>
> Cc: Mark Wielaard <mark@klomp.org>
> Cc: Martin Uecker <uecker@tugraz.at>
> Cc: Michael Kerrisk <mtk.manpages@gmail.com>
> Cc: Paul Eggert <eggert@cs.ucla.edu>
> Cc: Sam James <sam@gentoo.org>
> Cc: Siddhesh Poyarekar <siddhesh@gotplt.org>
> Cc: Yann Droneaud <ydroneaud@opteya.com>
> Signed-off-by: Alejandro Colomar <alx@kernel.org>
> ---
>
> Hi Siddhesh,
>
> Here's a patch for it. It is untested yet. Please have a look at it.
> I'm not used to GCC customs, so corrections are welcome :)
>
> Cheers,
>
> Alex
You've got the customs right as far as submission is concerned; gcc
accepts patches under DCO. I'm not a maintainer though, so I can't
approve the change, I can only comment on it in the hope of influencing
maintainers' opinions. In any case it's probably suitable as a proposal
for gcc 14, given that 13 is in stage 4, regression fixes only.
I'm split about where -Wuse-after-free=3 should be enabled. On the one
hand, I'd like it to go into -Wall and alongside _FORTIFY_SOURCE=3,
given that the latter already breaks the incorrect provenance
assumptions in such code patterns. However on the other hand, it may
lead to annoyed developers, even though the usage is, strictly speaking,
UB. I don't know about the false positive rate of -Wuse-after-free=3
either (specifically in the context of UB-ness of the code it warns
about), maybe someone else may be able to chime in on that.
Maybe a good compromise here is -Wextra, but if there's consensus
developing towards adding it to -Wall, I'll happily jump to that side.
Thanks,
Sid
>
>
> gcc/c-family/c.opt | 4 ++--
> gcc/doc/invoke.texi | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
> index c0fea56a8f5..1a3fc2c5d74 100644
> --- a/gcc/c-family/c.opt
> +++ b/gcc/c-family/c.opt
> @@ -1411,11 +1411,11 @@ C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_unused_const_variable)
> Warn when a const variable is unused.
>
> ; Defining this option here in addition to common.opt is necessary
> -; in order for the default -Wall setting of -Wuse-after-free=2 to take
> +; in order for the default -Wall setting of -Wuse-after-free=3 to take
> ; effect.
>
> Wuse-after-free=
> -LangEnabledBy(C ObjC C++ LTO ObjC++, Wall,2,0)
> +LangEnabledBy(C ObjC C++ LTO ObjC++, Wall,3,0)
> ; in common.opt
>
> Wvariadic-macros
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 7b308cd3c31..d910052ce0c 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -4720,7 +4720,7 @@ instead of pointers. This approach obviates needing to adjust the stored
> pointers after reallocation.
> @end table
>
> -@option{-Wuse-after-free=2} is included in @option{-Wall}.
> +@option{-Wuse-after-free=3} is included in @option{-Wall}.
>
> @item -Wuseless-cast @r{(C++ and Objective-C++ only)}
> @opindex Wuseless-cast
next prev parent reply other threads:[~2023-02-17 21:39 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-16 14:35 Missed warning (-Wuse-after-free) Alejandro Colomar
2023-02-16 15:15 ` David Malcolm
2023-02-17 1:04 ` Alejandro Colomar
2023-02-17 1:05 ` Alejandro Colomar
2023-02-17 1:56 ` Sam James
2023-02-17 8:12 ` Martin Uecker
2023-02-17 11:35 ` Alejandro Colomar
2023-02-17 13:34 ` Andreas Schwab
2023-02-17 13:48 ` Martin Uecker
2023-02-23 19:23 ` Alex Colomar
2023-02-23 19:57 ` Martin Uecker
2023-02-24 0:02 ` Alex Colomar
2023-02-24 1:21 ` Serge E. Hallyn
2023-02-24 1:42 ` Alex Colomar
2023-02-24 3:01 ` Peter Lafreniere
2023-02-24 8:52 ` Martin Uecker
2023-02-24 8:43 ` Martin Uecker
2023-02-24 16:10 ` Serge E. Hallyn
2023-02-24 8:36 ` Martin Uecker
2023-02-24 16:01 ` Serge E. Hallyn
2023-02-24 16:37 ` Martin Uecker
2023-02-17 3:48 ` Siddhesh Poyarekar
2023-02-17 11:22 ` Alejandro Colomar
2023-02-17 13:38 ` Siddhesh Poyarekar
2023-02-17 14:01 ` Mark Wielaard
2023-02-17 14:06 ` Siddhesh Poyarekar
2023-02-17 21:20 ` [PATCH] Make -Wuse-after-free=3 the default one in -Wall Alejandro Colomar
2023-02-17 21:39 ` Siddhesh Poyarekar [this message]
2023-02-17 21:41 ` Siddhesh Poyarekar
2023-02-17 22:58 ` Alejandro Colomar
2023-02-17 23:03 ` Siddhesh Poyarekar
2023-02-17 11:24 ` Missed warning (-Wuse-after-free) Jonathan Wakely
2023-02-17 11:43 ` Alejandro Colomar
2023-02-17 12:04 ` Jonathan Wakely
2023-02-17 12:53 ` Siddhesh Poyarekar
2023-02-17 14:10 ` Jonathan Wakely
2023-02-17 13:44 ` David Malcolm
2023-02-17 14:01 ` Siddhesh Poyarekar
2023-02-17 8:49 ` Yann Droneaud
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=193404c7-20ac-7ba3-e010-f8921721fdb8@gotplt.org \
--to=siddhesh@gotplt.org \
--cc=alx.manpages@gmail.com \
--cc=alx@kernel.org \
--cc=dmalcolm@redhat.com \
--cc=eggert@cs.ucla.edu \
--cc=fweimer@redhat.com \
--cc=gcc@gcc.gnu.org \
--cc=ipedrosa@redhat.com \
--cc=jens.gustedt@inria.fr \
--cc=jwakely.gcc@gmail.com \
--cc=mark@klomp.org \
--cc=mtk.manpages@gmail.com \
--cc=sam@gentoo.org \
--cc=schwab@linux-m68k.org \
--cc=uecker@tugraz.at \
--cc=ydroneaud@opteya.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).