Re: [PATCH net-next v3 2/2] KEYS: annotate struct user_key_payload with __counted_by

From: Jarkko Sakkinen

Date: Sat May 09 2026 - 07:24:26 EST


On Mon, Apr 27, 2026 at 01:44:24PM +0200, Thorsten Blum wrote:
> Add the __counted_by() compiler attribute to the flexible array member
> 'data' to improve bounds checking via CONFIG_UBSAN_BOUNDS and
> CONFIG_FORTIFY_SOURCE.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>

This is again a crippled commit message.

I.e. this requires either knowing, remembering and/or cross-referencing
"bunch of" unrelated to keyring.

I gave up already.

BR, Jarkko

> ---
> Changes in v3:
> - Formatting only, do not split the declaration into two lines (Jarkko)
> - v2: https://lore.kernel.org/lkml/20260409225703.158552-7-thorsten.blum@xxxxxxxxx/
>
> Changes in v2:
> - Use __aligned(8) as suggested by David
> - v1: https://lore.kernel.org/lkml/20260409073711.57020-6-thorsten.blum@xxxxxxxxx/
> ---
> include/keys/user-type.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/keys/user-type.h b/include/keys/user-type.h
> index 386c31432789..30de4f92a721 100644
> --- a/include/keys/user-type.h
> +++ b/include/keys/user-type.h
> @@ -27,7 +27,7 @@
> struct user_key_payload {
> struct rcu_head rcu; /* RCU destructor */
> unsigned short datalen; /* length of this data */
> - char data[] __aligned(__alignof__(u64)); /* actual data */
> + char data[] __aligned(8) __counted_by(datalen); /* actual data */
> };
>
> extern struct key_type key_type_user;