| Previous | Next |
| TPM_20_E_UPGRADE | TPM_20_E_AUTH_UNAVAILABLE |
TPM_20_E_TOO_MANY_CONTEXTS
Saved contexts carry monotonic identifiers
TPM_20_E_TOO_MANY_CONTEXTS corresponds to TPM_RC_TOO_MANY_CONTEXTS. TPM context save/load is not just serialization of key bytes. Saved transient objects and sessions include context identifiers used to prevent stale or replayed context blobs from being accepted in the wrong order. The TPM reports this code when its context-ID counter has reached the maximum representable state.
This differs from running out of loaded object slots. Flushing a transient handle may cure OBJECT_MEMORY, but it cannot roll back a monotonic counter that has reached its end. The required recovery is implementation- and platform-dependent and commonly involves reinitialization rather than ordinary resource cleanup.
What to capture
- Count how often the application saves contexts and whether it creates them continuously instead of reusing sessions.
- Distinguish saved contexts from currently loaded object and session handles.
- Preserve logs around TPM initialization, sleep/resume, and resource-manager restarts.
- Consult the TPM vendor before clearing or reprovisioning; context exhaustion may indicate firmware behavior that should be corrected.
References
- TCG Part 1: context management architecture
- TCG Part 2: TPM_RC_TOO_MANY_CONTEXTS
- tpm2-tools: context and handle cleanup
Looking for a different code? Search another status or error code.