lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260120191540.50a22ba8@pumpkin>
Date: Tue, 20 Jan 2026 19:15:40 +0000
From: David Laight <david.laight.linux@...il.com>
To: Bill Wendling <morbo@...gle.com>
Cc: Kees Cook <kees@...nel.org>, "Gustavo A. R. Silva"
 <gustavoars@...nel.org>, Nathan Chancellor <nathan@...nel.org>, Nick
 Desaulniers <nick.desaulniers+lkml@...il.com>, Justin Stitt
 <justinstitt@...gle.com>, Miguel Ojeda <ojeda@...nel.org>, Peter Zijlstra
 <peterz@...radead.org>, Andrew Morton <akpm@...ux-foundation.org>, Heiko
 Carstens <hca@...ux.ibm.com>, Marc Herbert <Marc.Herbert@...ux.intel.com>,
 Uros Bizjak <ubizjak@...il.com>, Tejun Heo <tj@...nel.org>, Jeff Xu
 <jeffxu@...omium.org>, Michal Koutný <mkoutny@...e.com>,
 Shakeel Butt <shakeel.butt@...ux.dev>, Thomas Weißschuh
 <thomas.weissschuh@...utronix.de>, John Stultz <jstultz@...gle.com>,
 Christian Brauner <brauner@...nel.org>, Randy Dunlap
 <rdunlap@...radead.org>, Brian Gerst <brgerst@...il.com>, Masahiro Yamada
 <masahiroy@...nel.org>, linux-kernel@...r.kernel.org,
 linux-hardening@...r.kernel.org, llvm@...ts.linux.dev, Nicolas Schier
 <nsc@...nel.org>, Tamir Duberstein <tamird@...il.com>, Steven Rostedt
 <rostedt@...dmis.org>, "Jason A. Donenfeld" <Jason@...c4.com>, "H. Peter
 Anvin" <hpa@...or.com>, Naman Jain <namjain@...ux.microsoft.com>, Simon
 Horman <horms@...nel.org>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
 <pabeni@...hat.com>, Ingo Molnar <mingo@...nel.org>, Thomas Gleixner
 <tglx@...nel.org>, Douglas Anderson <dianders@...omium.org>,
 linux-kbuild@...r.kernel.org
Subject: Re: [PATCH v4 1/2] Compiler Attributes: Add __counted_by_ptr macro

On Tue, 20 Jan 2026 10:12:34 -0800
Bill Wendling <morbo@...gle.com> wrote:

> On Sat, Jan 17, 2026 at 11:07 AM Kees Cook <kees@...nel.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@...gle.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



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ