From: David Laight <david.laight.linux@gmail.com>
To: Bill Wendling <morbo@google.com>
Cc: "Kees Cook" <kees@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
"Justin Stitt" <justinstitt@google.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Peter Zijlstra" <peterz@infradead.org>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Heiko Carstens" <hca@linux.ibm.com>,
"Marc Herbert" <Marc.Herbert@linux.intel.com>,
"Uros Bizjak" <ubizjak@gmail.com>, "Tejun Heo" <tj@kernel.org>,
"Jeff Xu" <jeffxu@chromium.org>,
"Michal Koutný" <mkoutny@suse.com>,
"Shakeel Butt" <shakeel.butt@linux.dev>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
"John Stultz" <jstultz@google.com>,
"Christian Brauner" <brauner@kernel.org>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Brian Gerst" <brgerst@gmail.com>,
"Masahiro Yamada" <masahiroy@kernel.org>,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org,
llvm@lists.linux.dev, "Nicolas Schier" <nsc@kernel.org>,
"Tamir Duberstein" <tamird@gmail.com>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Jason A. Donenfeld" <Jason@zx2c4.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"Naman Jain" <namjain@linux.microsoft.com>,
"Simon Horman" <horms@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
"Ingo Molnar" <mingo@kernel.org>,
"Thomas Gleixner" <tglx@kernel.org>,
"Douglas Anderson" <dianders@chromium.org>,
linux-kbuild@vger.kernel.org
Subject: Re: [PATCH v4 1/2] Compiler Attributes: Add __counted_by_ptr macro
Date: Tue, 20 Jan 2026 19:15:40 +0000 [thread overview]
Message-ID: <20260120191540.50a22ba8@pumpkin> (raw)
In-Reply-To: <CAGG=3QWeYZqLA8FSMYZFRrJ24LtEKJdmRAq3awkMZj0+qy=4_w@mail.gmail.com>
On Tue, 20 Jan 2026 10:12:34 -0800
Bill Wendling <morbo@google.com> wrote:
> On Sat, Jan 17, 2026 at 11:07 AM Kees Cook <kees@kernel.org> wrote:
> >
> > On Fri, Jan 16, 2026 at 09:53:18AM +0000, David Laight wrote:
> > > On Fri, 16 Jan 2026 00:57:57 +0000
> > > Bill Wendling <morbo@google.com> wrote:
> > >
> > > > Introduce __counted_by_ptr(), which works like __counted_by(), but for
> > > > pointer struct members.
> > > >
> > > > struct foo {
> > > > int a, b, c;
> > > > char *buffer __counted_by_ptr(bytes);
> > > > short nr_bars;
> > > > struct bar *bars __counted_by_ptr(nr_bars);
> > > > size_t bytes;
> > > > };
> > > >
> > > > Because "counted_by" can only be applied to pointer members in very
> > > > recent compiler versions, its application ends up needing to be distinct
> > > > from flexibe array "counted_by" annotations, hence a separate macro.
> > > ...
> > > > diff --git a/Makefile b/Makefile
> > > > index 9d38125263fb..6b029f694bc2 100644
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -952,6 +952,12 @@ KBUILD_CFLAGS += $(CC_AUTO_VAR_INIT_ZERO_ENABLER)
> > > > endif
> > > > endif
> > > >
> > > > +ifdef CONFIG_CC_IS_CLANG
> > > > +ifdef CONFIG_CC_HAS_COUNTED_BY_PTR
> > > > +KBUILD_CFLAGS += -fexperimental-late-parse-attributes
> > > > +endif
> > > > +endif
> > >
> > > Will that still be needed for clang 22?
> >
> > AFAIK, yes. AIUI, this flag will remain while -fbounds-safety continues
> > to be upstreamed into LLVM.
> >
> > > Looks a bit like a temporary flag to avoid regressions.
> > > Probably ought to at least have a comment that it won't be needed
> > > by some future clang version so that it gets tidied up.
> >
> > Once it's no longer needed, yes, I will want it removed from the
> > Makefile.
> >
> Would it be good to 'fixup' a comment in the Makefile for that?
Wrap with:
# Update version when no longer required
ifneq ($(call clang-min-version, 999999),y)
Although you might one day need the -f option for something entirely different.
So perhaps the logic that enables CC_HAS_COUNTER_BY_PTR need to do the
extra version check and set something so that -fexperimental-late-parse-attributes
is added here (so it only added once if needed by multiple things).
David
next prev parent reply other threads:[~2026-01-20 19:15 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-21 19:39 [PATCH 0/2] Add __counted_by_ptr macro Bill Wendling
2025-11-21 19:39 ` [PATCH 1/2] Compiler Attributes: " Bill Wendling
2025-11-21 19:46 ` Bill Wendling
2025-11-21 19:54 ` [PATCH v2 " Bill Wendling
2025-11-21 21:47 ` Miguel Ojeda
2025-11-24 20:01 ` Bill Wendling
2026-01-16 8:35 ` Peter Zijlstra
2026-01-17 19:05 ` Kees Cook
2026-01-17 19:18 ` Miguel Ojeda
2026-01-14 19:36 ` [PATCH " Bill Wendling
2026-01-15 4:00 ` Kees Cook
2026-01-16 0:59 ` Bill Wendling
2026-01-16 8:36 ` Peter Zijlstra
2026-01-17 19:06 ` Kees Cook
2026-01-16 0:57 ` [PATCH v4 " Bill Wendling
2026-01-16 9:53 ` David Laight
2026-01-17 19:07 ` Kees Cook
2026-01-20 18:12 ` Bill Wendling
2026-01-20 19:15 ` David Laight [this message]
2026-01-20 18:11 ` Bill Wendling
2026-01-17 19:01 ` Kees Cook
2026-02-10 8:41 ` [PATCH " Arnd Bergmann
2026-02-10 11:00 ` Bill Wendling
2026-02-10 11:28 ` Arnd Bergmann
2026-02-10 11:29 ` Bill Wendling
2025-11-21 19:39 ` [PATCH 2/2] memblock: annotate struct memblock_type with __counted_by_ptr Bill Wendling
2025-11-22 0:30 ` Kees Cook
2025-11-22 22:16 ` Andrew Morton
2025-11-24 19:19 ` Kees Cook
2025-11-24 20:15 ` Bill Wendling
2026-01-16 8:42 ` Peter Zijlstra
2026-01-20 21:06 ` Bill Wendling
2025-11-25 12:08 ` Mike Rapoport
2025-11-21 23:25 ` [PATCH 0/2] Add __counted_by_ptr macro Kees Cook
2025-11-24 20:05 ` Bill Wendling
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=20260120191540.50a22ba8@pumpkin \
--to=david.laight.linux@gmail.com \
--cc=Jason@zx2c4.com \
--cc=Marc.Herbert@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=brgerst@gmail.com \
--cc=dianders@chromium.org \
--cc=gustavoars@kernel.org \
--cc=hca@linux.ibm.com \
--cc=horms@kernel.org \
--cc=hpa@zytor.com \
--cc=jeffxu@chromium.org \
--cc=jstultz@google.com \
--cc=justinstitt@google.com \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=masahiroy@kernel.org \
--cc=mingo@kernel.org \
--cc=mkoutny@suse.com \
--cc=morbo@google.com \
--cc=namjain@linux.microsoft.com \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=pabeni@redhat.com \
--cc=peterz@infradead.org \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=shakeel.butt@linux.dev \
--cc=tamird@gmail.com \
--cc=tglx@kernel.org \
--cc=thomas.weissschuh@linutronix.de \
--cc=tj@kernel.org \
--cc=ubizjak@gmail.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 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.