On Fri, Jan 16, 2026 at 1:53 AM David Laight <[email protected]> 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? > 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.
I don't believe that there's a timeline for removing this flag, but I agree that it should go at some point. -bw
