| Previous | Next |
| kIOReturnNoFrames | kIOReturnNotPermitted |
kIOReturnMessageTooLarge
A payload-boundary failure
kIOReturnMessageTooLarge means that an oversized message was received. The relevant limit belongs to the message-based IOKit interface that reported the status; the common value does not state whether it is a fixed protocol maximum, a buffer-size mismatch, or a family-specific notification path.
Do not confuse this with kIOReturnBadMessageID. That status indicates disagreement about message identity, whereas this one concerns the size of a message that reached the receiver. Truncating a control or state message without a documented framing rule can silently corrupt the protocol, so the limit should be verified before changing buffer sizes.
How to diagnose it
- Record declared and actual message sizes, message type or selector, and the maximum size expected by both sides.
- Check structure packing, length fields, version changes, and any variable-length payload calculation.
- Validate that the receiver’s buffer and the sender’s advertised length use the same unit and bounds.
- Reject or split data only according to the interface’s documented framing and completion rules.
References
- Apple XNU source: IOReturn.h
- Apple: IOKit architectural overview
- Apple: Introduction to IOKit Fundamentals
Looking for a different code? Search another status or error code.