On 8/29/22 1:28 PM, Dave Hansen wrote: > On 8/29/22 13:09, Sathyanarayanan Kuppuswamy wrote: >> With the changed format, we avoided the holes, but it still adds 7 bytes of padding. >> >> Total size of struct is 32 bytes. >> >> struct tdx_report_req { >> __u64 reportdata; /* 0 8 */ >> __u64 tdreport; /* 8 8 */ >> __u32 rpd_len; /* 16 4 */ >> __u32 tdr_len; /* 20 4 */ >> __u8 subtype; /* 24 1 */ >> >> /* size: 32, cachelines: 1, members: 5 */ >> /* padding: 7 */ >> /* last cacheline: 32 bytes */ >> }; > > Might as well make some use of the padding and add: > > u8 reserved[7]; > > That will ensure that the entire structure is explicitly sized *AND* > leave you room to add flags or other fun in the future without a new ABI. Ok. I will add it in next version. -- Sathyanarayanan Kuppuswamy Linux Kernel Developer