fs/ecryptfs/ecryptfs_kernel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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 <thorsten.blum@linux.dev>
---
fs/ecryptfs/ecryptfs_kernel.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ecryptfs/ecryptfs_kernel.h b/fs/ecryptfs/ecryptfs_kernel.h
index 62a2ea7f59ed..f58b12be8267 100644
--- a/fs/ecryptfs/ecryptfs_kernel.h
+++ b/fs/ecryptfs/ecryptfs_kernel.h
@@ -359,7 +359,7 @@ struct ecryptfs_message {
/* Inherits from msg_ctx->index */
u32 index;
u32 data_len;
- u8 data[];
+ u8 data[] __counted_by(data_len);
};
struct ecryptfs_msg_ctx {
--
Thorsten Blum <thorsten.blum@linux.dev>
GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
On Mon, 12 Jan 2026 12:53:11 +0100, 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.
>
>
Applied to for-next/hardening, thanks!
[1/1] ecryptfs: Annotate struct ecryptfs_message with __counted_by
https://git.kernel.org/kees/c/574d944d2ff3
Take care,
--
Kees Cook
On 2026-01-12 12:53:11, 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 <thorsten.blum@linux.dev>
Nice! I wasn't aware of this attribute. I'm surprised it isn't
documented under Documentation/.
Acked-by: Tyler Hicks <code@tyhicks.com>
Thank you!
Tyler
> ---
> fs/ecryptfs/ecryptfs_kernel.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/ecryptfs/ecryptfs_kernel.h b/fs/ecryptfs/ecryptfs_kernel.h
> index 62a2ea7f59ed..f58b12be8267 100644
> --- a/fs/ecryptfs/ecryptfs_kernel.h
> +++ b/fs/ecryptfs/ecryptfs_kernel.h
> @@ -359,7 +359,7 @@ struct ecryptfs_message {
> /* Inherits from msg_ctx->index */
> u32 index;
> u32 data_len;
> - u8 data[];
> + u8 data[] __counted_by(data_len);
> };
>
> struct ecryptfs_msg_ctx {
> --
> Thorsten Blum <thorsten.blum@linux.dev>
> GPG: 1D60 735E 8AEF 3BE4 73B6 9D84 7336 78FD 8DFE EAD4
>
© 2016 - 2026 Red Hat, Inc.