Ack. If it compiles it must be all right. On Wed, May 6, 2026 at 6:41 PM Liu Kui <[email protected]> wrote: > > With FORTIFY_SOURCE, memcpy to a zero-length arrary field is flagged > as field-spanning, causing kernel warning. Switch to the C99 flexible > array [] syntax to fix this. > > Changes: > - _data_buf[0] -> _data_buf[] in struct krpc_completion > - sync_resp[0] -> sync_resp[] in struct pcs_cs_iohdr > - nodes[0] -> nodes[] in struct pcs_cs_map_prop > - cs[0] -> cs[] in struct pcs_cs_list > - cs[0] -> cs[] in struct pcs_ioc_getmap > > Link: https://virtuozzo.atlassian.net/browse/VSTOR-130548 > > Signed-off-by: Liu Kui <[email protected]> > --- > fs/fuse/kio/pcs/pcs_cs_prot.h | 4 ++-- > fs/fuse/kio/pcs/pcs_ioctl.h | 2 +- > fs/fuse/kio/pcs/pcs_krpc.h | 2 +- > fs/fuse/kio/pcs/pcs_map.h | 2 +- > 4 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/fuse/kio/pcs/pcs_cs_prot.h b/fs/fuse/kio/pcs/pcs_cs_prot.h > index c72066de7be4..c524d28b551e 100644 > --- a/fs/fuse/kio/pcs/pcs_cs_prot.h > +++ b/fs/fuse/kio/pcs/pcs_cs_prot.h > @@ -79,7 +79,7 @@ struct pcs_cs_iohdr { > u32 fiemap_count; /* Used only in > FIEMAP request, limit on number of extents to return */ > }; > struct pcs_cs_sync_data sync; /* Filled in all requests and > responses */ > - struct pcs_cs_sync_resp sync_resp[0]; /* Used only in response to > write/sync */ > + struct pcs_cs_sync_resp sync_resp[]; /* Used only in response to > write/sync */ > } __attribute__((aligned(8))); > > static inline int pcs_cs_use_aligned_io(u32 storage_version) > @@ -171,7 +171,7 @@ struct pcs_cs_map_prop { > u16 chain_nodes; > u16 reserved; > u32 nnodes; > - struct pcs_cs_node_desc nodes[0]; > + struct pcs_cs_node_desc nodes[]; > } __attribute__((aligned(8))); > > #define CS_OBJ_UNKNOWN -1 > diff --git a/fs/fuse/kio/pcs/pcs_ioctl.h b/fs/fuse/kio/pcs/pcs_ioctl.h > index fb22cf8a01b0..07a87d6507f3 100644 > --- a/fs/fuse/kio/pcs/pcs_ioctl.h > +++ b/fs/fuse/kio/pcs/pcs_ioctl.h > @@ -74,7 +74,7 @@ struct pcs_ioc_getmap > /* TODO: cs array is only for OUT ? */ > u32 cs_cnt; /* The number of CS > (including root) entries that follows */ > u32 cs_max; /* Max number of CS > (including root) entries requested */ > - struct pcs_cs_info cs[0]; /* Array of CS including root > */ > + struct pcs_cs_info cs[]; /* Array of CS including root > */ > }; > > #define PCS_IOC_NOCSUMONREAD _IOW('V',3,u32) > diff --git a/fs/fuse/kio/pcs/pcs_krpc.h b/fs/fuse/kio/pcs/pcs_krpc.h > index 6a090ef66185..d5a7a56d84c8 100644 > --- a/fs/fuse/kio/pcs/pcs_krpc.h > +++ b/fs/fuse/kio/pcs/pcs_krpc.h > @@ -99,7 +99,7 @@ struct krpc_completion { > > void *private; > int data_len; > - u8 _data_buf[0]; > + u8 _data_buf[]; > }; > > #define KRPC_MAX_DATA_PAGES 256 > diff --git a/fs/fuse/kio/pcs/pcs_map.h b/fs/fuse/kio/pcs/pcs_map.h > index bf8a0e7177d0..788a8cb16d8e 100644 > --- a/fs/fuse/kio/pcs/pcs_map.h > +++ b/fs/fuse/kio/pcs/pcs_map.h > @@ -127,7 +127,7 @@ struct pcs_cs_list > int write_timeout; > int nsrv; > PCS_MAP_VERSION_T version; /* version inherented > from map */ > - struct pcs_cs_record cs[0]; > + struct pcs_cs_record cs[]; > }; > > /* TODO, LOCKING!!!!! > -- > 2.39.5 (Apple Git-154)
_______________________________________________ Devel mailing list [email protected] https://lists.openvz.org/mailman/listinfo/devel
