On Fri, Apr 10, 2026 at 12:57:05AM +0200, Thorsten Blum wrote: > Add the __counted_by() compiler attribute to the flexible array member > 'data' to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and > CONFIG_FORTIFY_SOURCE. > > Signed-off-by: Thorsten Blum <[email protected]> > --- > Changes in v2: > - Use __aligned(8) as suggested by David > - v1: > https://lore.kernel.org/lkml/[email protected]/ > > Cc: [email protected] > --- > include/keys/user-type.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/keys/user-type.h b/include/keys/user-type.h > index 386c31432789..c29ed9f5d300 100644 > --- a/include/keys/user-type.h > +++ b/include/keys/user-type.h > @@ -27,7 +27,8 @@ > 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[] /* actual data */ > + __aligned(8) __counted_by(datalen); > }; > > extern struct key_type key_type_user;
The change is acceptable but I see no point split the declaration into two lines (as long as it passes checkpatch.pl as per line length). BR, Jarkko

