Thread (6 messages) 6 messages, 3 authors, 2021-07-30

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


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help