[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <d29ca795-ade3-454b-816e-46b5815a1444@app.fastmail.com>
Date: Tue, 10 Feb 2026 09:41:25 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Bill Wendling" <morbo@...gle.com>, linux-kernel@...r.kernel.org
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-hardening@...r.kernel.org, llvm@...ts.linux.dev,
"Jan Hendrik Farr" <kernel@...rr.cc>
Subject: Re: [PATCH 1/2] Compiler Attributes: Add __counted_by_ptr macro
On Fri, Nov 21, 2025, at 20:39, Bill Wendling 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
Something changed in recent gcc versions. I had tested gcc-16.0.1
successfully with CONFIG_CC_HAS_COUNTED_BY_PTR=y, but after upgrading
to a recent git snapshot, I get this output:
fs/coredump.c:95:15: error: 'counted_by' attribute is not allowed for a non-array field
95 | char *corename __counted_by_ptr(size);
| ^~~~~~~~
drivers/misc/lkdtm/bugs.c:518:15: error: 'counted_by' attribute is not allowed for a non-array field
518 | char *buf __counted_by_ptr(len);
| ^~~
drivers/misc/lkdtm/bugs.c:520:29: error: 'counted_by' attribute is not allowed for a non-array field
520 | struct lkdtm_extra *extra __counted_by_ptr(nr_extra);
| ^~~~~
This is every use of __counted_by_ptr() in linux-next at the moment.
Arnd
Powered by blists - more mailing lists