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

From: Steve French
Date: Sun Jan 17 2021 - 21:09:24 EST


On Sun, Jan 17, 2021 at 6:02 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> 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()...

agreed

--
Thanks,

Steve