Re: [PATCH] asm-generic/hyperv: Fix struct hv_message_header ordering
From: Siddharth Chandrasekaran <hidden>
Date: 2021-07-29 14:27:17
Also in:
linux-hyperv, lkml
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:quoted
Siddharth Chandrasekaran [off-list ref] writes:quoted
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