From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Kees Cook <kees@kernel.org>
Cc: Jiri Slaby <jirislaby@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
linux-serial@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-hardening@vger.kernel.org, llvm@lists.linux.dev,
patches@lists.linux.dev, stable@vger.kernel.org
Subject: Re: [PATCH] tty: mxser: Remove __counted_by from mxser_board.ports[]
Date: Fri, 28 Jun 2024 16:31:46 +0200 [thread overview]
Message-ID: <2024062800-doodle-pelvis-4798@gregkh> (raw)
In-Reply-To: <202406271009.4E90DF8@keescook>
On Thu, Jun 27, 2024 at 10:14:05AM -0700, Kees Cook wrote:
> On Wed, May 29, 2024 at 02:29:42PM -0700, Nathan Chancellor wrote:
> > Work for __counted_by on generic pointers in structures (not just
> > flexible array members) has started landing in Clang 19 (current tip of
> > tree). During the development of this feature, a restriction was added
> > to __counted_by to prevent the flexible array member's element type from
> > including a flexible array member itself such as:
> >
> > struct foo {
> > int count;
> > char buf[];
> > };
> >
> > struct bar {
> > int count;
> > struct foo data[] __counted_by(count);
> > };
> >
> > because the size of data cannot be calculated with the standard array
> > size formula:
> >
> > sizeof(struct foo) * count
> >
> > This restriction was downgraded to a warning but due to CONFIG_WERROR,
> > it can still break the build. The application of __counted_by on the
> > ports member of 'struct mxser_board' triggers this restriction,
> > resulting in:
> >
> > drivers/tty/mxser.c:291:2: error: 'counted_by' should not be applied to an array with element of unknown size because 'struct mxser_port' is a struct type with a flexible array member. This will be an error in a future compiler version [-Werror,-Wbounds-safety-counted-by-elt-type-unknown-size]
> > 291 | struct mxser_port ports[] __counted_by(nports);
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~
> > 1 error generated.
> >
> > Remove this use of __counted_by to fix the warning/error. However,
> > rather than remove it altogether, leave it commented, as it may be
> > possible to support this in future compiler releases.
> >
> > Cc: stable@vger.kernel.org
> > Closes: https://github.com/ClangBuiltLinux/linux/issues/2026
> > Fixes: f34907ecca71 ("mxser: Annotate struct mxser_board with __counted_by")
> > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
>
> Since this fixes a build issue under Clang, can we please land this so
> v6.7 and later will build again? Gustavo is still working on the more
> complete fix (which was already on his radar, so it won't be lost).
>
> If it's easier/helpful, I can land this via the hardening tree? I was
> the one who sent the bad patch originally. :)
>
I don't see this in my queue anywhere, sorry, can you resend it? Or
feel free to take it through your trees, no objection from me there.
thanks,
greg k-h
next prev parent reply other threads:[~2024-06-28 14:31 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-29 21:29 [PATCH] tty: mxser: Remove __counted_by from mxser_board.ports[] Nathan Chancellor
2024-05-29 21:29 ` Nathan Chancellor
2024-05-30 6:22 ` Jiri Slaby
2024-05-30 6:22 ` Jiri Slaby
2024-05-30 7:40 ` Greg Kroah-Hartman
2024-05-30 7:40 ` Greg Kroah-Hartman
2024-05-30 8:12 ` Gustavo A. R. Silva
2024-05-30 8:12 ` Gustavo A. R. Silva
2024-05-30 8:33 ` Jiri Slaby
2024-05-30 8:33 ` Jiri Slaby
2024-05-30 8:41 ` Jiri Slaby
2024-05-30 8:41 ` Jiri Slaby
2024-05-30 8:43 ` Bill Wendling
2024-05-30 8:43 ` Bill Wendling
2024-05-30 8:46 ` Gustavo A. R. Silva
2024-05-30 8:46 ` Gustavo A. R. Silva
2024-06-03 6:07 ` Jiri Slaby
2024-06-03 6:07 ` Jiri Slaby
2024-06-03 8:26 ` Gustavo A. R. Silva
2024-06-03 8:26 ` Gustavo A. R. Silva
2024-06-12 20:04 ` Gustavo A. R. Silva
2024-05-30 8:42 ` Gustavo A. R. Silva
2024-05-30 8:42 ` Gustavo A. R. Silva
2024-05-30 17:43 ` Nathan Chancellor
2024-05-30 17:43 ` Nathan Chancellor
2024-06-27 17:14 ` Kees Cook
2024-06-28 2:51 ` Gustavo A. R. Silva
2024-06-28 14:31 ` Greg Kroah-Hartman [this message]
2024-06-28 15:58 ` 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=2024062800-doodle-pelvis-4798@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=gustavoars@kernel.org \
--cc=imx@lists.linux.dev \
--cc=jirislaby@kernel.org \
--cc=justinstitt@google.com \
--cc=kees@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=patches@lists.linux.dev \
--cc=stable@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.