Re: [[PATCH v1] 08/37] [CIFS] SMBD: Define packet format for SMBD data transfer message
From: Jeff Layton
Date: Mon Aug 14 2017 - 06:24:48 EST
On Sun, 2017-08-13 at 03:15 -0700, Christoph Hellwig wrote:
> > +// SMBD data transfer packet with payload [MS-SMBD] 2.2.3
> > +struct smbd_data_transfer {
> > + __le16 credits_requested;
> > + __le16 credits_granted;
> > + __le16 flags;
> > + __le16 reserved;
> > + __le32 remaining_data_length;
> > + __le32 data_offset;
> > + __le32 data_length;
> > + __le32 padding;
> > + char buffer[0];
>
> Please use the actually standardized [] syntax for variable sized
> arrays. Also normally this would be a __u8 to fit with the other
> types, but I haven't seen the usage yet.
>
Yes, having a single-element array makes it harder to handle the
indexes, etc. Flexible arrays are better.
> > +} __packed;
>
> The structure is natually packed already, no need to add the
> attribute.
I think this should remain on structs that are intended to go across the
wire. Could we ever end up with some exotic arch that stuffs some
padding in there? Maybe I'm just paranoid, but I don't see any harm in
leaving that here.
--
Jeff Layton <jlayton@xxxxxxxxxx>