What does HRESULT 0xC0350004 (ERROR_HV_INVALID_ALIGNMENT) mean?

 
Could be also:
ConstantTypeOS
STATUS_HV_INVALID_ALIGNMENTNTSTATUSWindows
Previous Next
ERROR_HV_INVALID_HYPERCALL_INPUT ERROR_HV_INVALID_PARAMETER

ERROR_HV_INVALID_ALIGNMENT

Guest-physical parameter blocks have ABI rules

Memory-based hypercalls use guest physical addresses (GPAs) for their input and output blocks. Hyper-V requires these GPA pointers to be 8-byte aligned. The parameter list must also fit within the applicable page and lie inside the partition GPA space. A correctly aligned C or C++ pointer is not sufficient when the GPA used by the hypercall is offset, crosses a page boundary, or refers to an invalid guest mapping.

This is not a generic heap-alignment warning. It identifies the call frame supplied to Hyper-V, before the requested hypercall can safely consume its structured parameters.

Checks that find the fault

  • Log the exact input and output GPAs and verify that each is divisible by eight.
  • Calculate the full serialized block size, including any variable header or rep list, and ensure it does not cross its allowed page boundary.
  • Keep Hyper-V input and output blocks stable until the call returns; another virtual processor must not modify a live call frame.
  • Validate GPA translation and access permissions separately. Hyper-V documents unreadable input and unwritable output as memory-access validation, not as a substitute for a valid layout.

Microsoft Hyper-V TLFS: alignment and GPA validation · Linux Hyper-V structures and alignment annotations


Looking for a different code? Search another status or error code.