Re: [PATCH] fs/cifs: Replace one-element array with flexible-array member.

From: Al Viro
Date: Sun Jan 17 2021 - 19:03:10 EST


On Sun, Jan 17, 2021 at 03:58:23PM -0600, Steve French wrote:
> Jiapeng,
> Aurelien is correct, you should respin this patch and correct for
> where it breaks the sizeof calculation. For example your change:
>
> struct smb2_lock_rsp {
> @@ -1434,7 +1434,7 @@ struct smb2_query_directory_req {
> __le16 FileNameOffset;
> __le16 FileNameLength;
> __le32 OutputBufferLength;
> - __u8 Buffer[1];
> + __u8 Buffer[];
> } __packed;
>
> would have the side effect of making the file name off by one:
>
> smb2pdu.c-4654- req->FileNameOffset =
> smb2pdu.c:4655: cpu_to_le16(sizeof(struct
> smb2_query_directory_req) - 1);

FWIW, that sizeof() - 1 should've been offsetof()...