On Fri, Jan 16, 2026 at 09:35:16AM +0100, Peter Zijlstra wrote: > On Fri, Nov 21, 2025 at 10:47:45PM +0100, Miguel Ojeda wrote: > > On Fri, Nov 21, 2025 at 8:55 PM Bill Wendling <[email protected]> wrote: > > > > > > +/* > > > + * Optional: only supported since clang >= 21 > > > + * > > > + * clang: https://github.com/llvm/llvm-project/pull/137250 > > > + */ > > > +#ifdef CONFIG_CC_HAS_COUNTED_BY_FOR_POINTER > > > +#define __counted_by_ptr(member) > > > __attribute__((__counted_by__(member))) > > > +#else > > > +#define __counted_by_ptr(member) > > > +#endif > > > > I guess there is a reason for this name, but it sounds to me a bit > > like the thing between parenthesis is a pointer, i.e. that perhaps it > > is the pointee that one that counts. > > > > Hmm... what about `__ptr_counted_by`? > > Kees promised to drop this attribute once GCC-16 releases by basically > doing 's/__counted_by_ptr/__counted_by/' and unifying things again.
Yeah, this will effectively raise "counted_by" support to GCC 16 (from 15) and to Clang 22 (from 20). I'd still prefer to keep the earlier support, but we'll see how it goes. -Kees -- Kees Cook
