| Previous | Next |
| KERN_INVALID_LEDGER | KERN_INVALID_SECURITY |
KERN_INVALID_MEMORY_CONTROL
A memory-control capability mismatch
KERN_INVALID_MEMORY_CONTROL says that a port passed to a memory-management operation was not a memory cache control port. The result is about the kind of Mach capability presented to the kernel, not about whether a virtual address is mapped or whether a page is resident.
Do not collapse it into KERN_INVALID_ADDRESS, KERN_PROTECTION_FAILURE, or a generic allocation error. Those values describe different layers: address validity, access protection, and resource availability.
What to inspect
- Identify the API that supplied the port and the memory-object interface it promised.
- Check whether a wrapper substituted a memory object, named entry, or ordinary port for a control port.
- Verify that the reference remains valid across the lifetime of the operation.
- Determine whether the caller needs a privileged control interface rather than a data-access interface.
References
- Apple XNU: kern_return.h
- Apple Kernel Programming Guide: Mach memory objects
- Apple Kernel Programming Guide: memory and virtual memory
Looking for a different code? Search another status or error code.