On Sat, Jan 17, 2026 at 11:07 AM Kees Cook <[email protected]> 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 <[email protected]> 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?
-bw
