[PATCH][next] smb: client: Avoid a dozen -Wflex-array-member-not-at-end warnings

From: Gustavo A. R. Silva
Date: Mon Nov 10 2025 - 06:49:14 EST


-Wflex-array-member-not-at-end was introduced in GCC-14, and we are
getting ready to enable it, globally.

Move the conflicting declaration to the end of the corresponding
structure. Notice that struct smb2_file_all_info is a flexible
structure, this is a structure that contains a flexible-array
member.

Fix the following warnings:

12 fs/smb/client/cached_dir.h:51:35: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
---
fs/smb/client/cached_dir.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/smb/client/cached_dir.h b/fs/smb/client/cached_dir.h
index 1e383db7c337..bc70197bbfbd 100644
--- a/fs/smb/client/cached_dir.h
+++ b/fs/smb/client/cached_dir.h
@@ -48,8 +48,10 @@ struct cached_fid {
struct dentry *dentry;
struct work_struct put_work;
struct work_struct close_work;
- struct smb2_file_all_info file_all_info;
struct cached_dirents dirents;
+
+ /* Must be last as it ends in a flexible-array member. */
+ struct smb2_file_all_info file_all_info;
};

/* default MAX_CACHED_FIDS is 16 */
--
2.43.0