diff options
author | Kees Cook <keescook@chromium.org> | 2023-09-15 23:14:27 +0300 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2023-10-02 19:48:53 +0300 |
commit | c0c64aac4916a2592bd174547b279a408368dd31 (patch) | |
tree | 91295348c24b14f90ee906a3f8a979deeb13d828 | |
parent | 96d7c65939793c2efc16e43c81a92aed9eed0d78 (diff) | |
download | linux-c0c64aac4916a2592bd174547b279a408368dd31.tar.xz |
nfs41: Annotate struct nfs4_file_layout_dsaddr with __counted_by
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS
(for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).
As found with Coccinelle[1], add __counted_by for struct nfs4_file_layout_dsaddr.
[1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Anna Schumaker <anna@kernel.org>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: linux-nfs@vger.kernel.org
Link: https://lore.kernel.org/r/20230915201427.never.771-kees@kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
-rw-r--r-- | fs/nfs/filelayout/filelayout.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/filelayout/filelayout.h b/fs/nfs/filelayout/filelayout.h index aed0748fd6ec..c7bb5da93307 100644 --- a/fs/nfs/filelayout/filelayout.h +++ b/fs/nfs/filelayout/filelayout.h @@ -51,7 +51,7 @@ struct nfs4_file_layout_dsaddr { u32 stripe_count; u8 *stripe_indices; u32 ds_num; - struct nfs4_pnfs_ds *ds_list[]; + struct nfs4_pnfs_ds *ds_list[] __counted_by(ds_num); }; struct nfs4_filelayout_segment { |