From: Qing Zhao <qing.zhao@oracle.com>
To: joseph@codesourcery.com, rguenther@suse.de
Cc: siddhesh@gotplt.org, keescook@chromium.org,
gcc-patches@gcc.gnu.org, Qing Zhao <qing.zhao@oracle.com>
Subject: [V4][PATCH 0/2] Handle component_ref to a structure/union field including FAM for builtin_object_size
Date: Fri, 24 Feb 2023 18:35:03 +0000 [thread overview]
Message-ID: <20230224183505.4112295-1-qing.zhao@oracle.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 2460 bytes --]
Hi, Joseph and Richard,
Could you please review this patch and let me know whether it’s ready
for committing into GCC13?
The fix to Bug PR101832 is an important patch for kernel security
purpose. it's better to be put into GCC13.
=============================
These are the 4th version of the patches for PR101832, to fix
builtin_object_size to correctly handle component_ref to a
structure/union field that includes a flexible array member.
also includes a documentation update for the GCC extension on embedding
a structure/union with flexible array member into another structure.
which includes a fix to PR77650.
compared to the 3rd version of the patch, the major changes are:
1. update the documentation part per Joseph's comments.
compared to the 2nd version of the patch, the major changes are:
1. only include C99 flexible array member to this extension, trailing [0], [1]
and [4] are all excluded.
2. for the new bit type_include_flexarray in tree_type_common, print it
and also stream in/out it.
3. update testing cases.
4. more clarification on the documentation. warnings for deprecating the
case when the structure with C99 FAM is embedded in the middle of
another structure.
5. add a new warning option -Wgnu-variable-sized-type-not-at-end for
identifing all such cases.
bootstrapped and regression tested on aarch64 and x86.
Okay for commit?
thanks.
Qing
Qing Zhao (2):
Handle component_ref to a structre/union field including C99 FAM
[PR101832]
Update documentation to clarify a GCC extension
gcc/c-family/c.opt | 5 +
gcc/c/c-decl.cc | 19 +++
gcc/cp/module.cc | 2 +
gcc/doc/extend.texi | 48 ++++++-
gcc/print-tree.cc | 5 +
.../gcc.dg/builtin-object-size-pr101832.c | 134 ++++++++++++++++++
.../gcc.dg/variable-sized-type-flex-array.c | 31 ++++
gcc/tree-core.h | 4 +-
gcc/tree-object-size.cc | 79 +++++++----
gcc/tree-streamer-in.cc | 1 +
gcc/tree-streamer-out.cc | 1 +
gcc/tree.h | 6 +
12 files changed, 305 insertions(+), 30 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/builtin-object-size-pr101832.c
create mode 100644 gcc/testsuite/gcc.dg/variable-sized-type-flex-array.c
--
2.31.1
next reply other threads:[~2023-02-24 18:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-24 18:35 Qing Zhao [this message]
2023-02-24 18:35 ` [v4][PATCH 1/2] Handle component_ref to a structre/union field including C99 FAM [PR101832] Qing Zhao
2023-03-03 0:03 ` Qing Zhao
2023-03-09 12:20 ` Richard Biener
2023-03-09 16:11 ` Qing Zhao
2023-03-10 7:54 ` Richard Biener
2023-03-10 13:48 ` Qing Zhao
2023-03-13 22:42 ` Qing Zhao
2023-03-14 9:04 ` Richard Biener
2023-03-14 13:09 ` Qing Zhao
2023-02-24 18:35 ` [V4][PATCH 2/2] Update documentation to clarify a GCC extension Qing Zhao
2023-03-03 0:03 ` Qing Zhao
2023-03-12 23:14 ` Sandra Loosemore
2023-03-13 12:46 ` Qing Zhao
2023-03-15 3:26 ` Sandra Loosemore
2023-03-15 14:42 ` Qing Zhao
2023-03-03 0:02 ` [V4][PATCH 0/2] Handle component_ref to a structure/union field including FAM for builtin_object_size Qing Zhao
2023-03-08 18:45 ` Kees Cook
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=20230224183505.4112295-1-qing.zhao@oracle.com \
--to=qing.zhao@oracle.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=joseph@codesourcery.com \
--cc=keescook@chromium.org \
--cc=rguenther@suse.de \
--cc=siddhesh@gotplt.org \
/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).