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 <[email protected]> --- Changes in v3: - Formatting only, do not split the declaration into two lines (Jarkko) - v2: https://lore.kernel.org/lkml/[email protected]/ Changes in v2: - Use __aligned(8) as suggested by David - v1: https://lore.kernel.org/lkml/[email protected]/ --- 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;

