On Thu, Jul 29, 2021 at 02:07:05PM +0000, Wei Liu wrote: > On Thu, Jul 29, 2021 at 03:52:46PM +0200, Vitaly Kuznetsov wrote: > > Siddharth Chandrasekaran <sidcha@xxxxxxxxx> writes: > > > > > According to Hyper-V TLFS Version 6.0b, struct hv_message_header members > > > should be defined in the order: > > > > > > message_type, reserved, message_flags, payload_size > > > > > > but we have it defined in the order: > > > > > > message_type, payload_size, message_flags, reserved > > > > > > that is, the payload_size and reserved members swapped. > > > > Indeed, > > > > typedef struct > > { > > HV_MESSAGE_TYPE MessageType; > > UINT16 Reserved; > > HV_MESSAGE_FLAGS MessageFlags; > > UINT8 PayloadSize; > > union > > { > > UINT64 OriginationId; > > HV_PARTITION_ID Sender; > > HV_PORT_ID Port; > > }; > > } HV_MESSAGE_HEADER; > > Well. I think TLFS is wrong. Let me ask around. TBH, I hadn't considered that possibility :). I assumed it was a regression on our side. But I spent some time tracing the history of that struct all the way back to when it was in staging (in 2009) and now I'm inclined to believe a later version of TLFS is at fault here. Based on what we decide in this thread, I will open an issue on the TLFS GitHub repository. ~ Sid. Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B Sitz: Berlin Ust-ID: DE 289 237 879