What does macOS kernel return 0xE00002C1 (kIOReturnNotPrivileged) mean?

 
Previous Next
kIOReturnNoDevice kIOReturnBadArgument

kIOReturnNotPrivileged

A policy decision, not a transient device state

kIOReturnNotPrivileged means that the operation encountered a privilege violation. The common return code does not name the policy that was enforced: the relevant IOKit family, user client, driver, sandbox rule, entitlement, or service-specific authorization check supplies that context.

Running the whole application with broader privileges is not a diagnostic substitute for finding the expected access model. A request can be denied because the wrong interface was opened, because the selected operation is intentionally restricted, or because the process does not meet an interface-specific requirement. Retrying unchanged credentials will not turn this result into a successful I/O operation.

What to verify

  • Identify the exact service, interface, and method that returned the status.
  • Record the process identity and the access policy documented for that interface without logging secrets or authorization material.
  • Compare a permitted operation with the rejected one to determine whether the difference is an operation class, device state, or client identity.
  • Keep authorization failures separate from kIOReturnNotPermitted, which is a different common status with its own caller context.

References


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