What does NTSTATUS 0xC0350004 (STATUS_HV_INVALID_ALIGNMENT) mean?

 
Could be also:
ConstantTypeOS
ERROR_HV_INVALID_ALIGNMENTHRESULTWindows
Previous Next
STATUS_HV_INVALID_HYPERCALL_INPUT STATUS_HV_INVALID_PARAMETER

STATUS_HV_INVALID_ALIGNMENT

The parameter GPA does not satisfy the hypercall memory contract

STATUS_HV_INVALID_ALIGNMENT indicates that a supplied parameter address has invalid alignment for the hypercall interface. Hyper-V memory-based hypercalls use guest-physical addresses for input and output blocks; the TLFS requires those blocks to be 8-byte aligned and padded to a multiple of 8 bytes.

This is not a generic virtual-memory fault. Correcting only the apparent structure size is insufficient when the GPA is unaligned, when an input/output list crosses a page boundary, or when the two lists overlap. Those are separate constraints of the ABI and must be verified from the addresses passed to the hypervisor, not from a host virtual pointer printed in a log.

What to verify

  • The actual GPA values, not only the guest virtual addresses used before translation.
  • Eight-byte alignment, size padding, page-boundary containment and non-overlap of input/output areas.
  • That parameter pages are normal GPA pages rather than Hyper-V overlay pages.
  • Structure packing, allocation alignment and any offset introduced by a custom buffer header.

References


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