What does HRESULT 0x8028014B (TPM_20_E_NV_SPACE) mean?

 
Previous Next
TPM_20_E_UNINITIALIZED TPM_20_E_NV_DEFINED

TPM_20_E_NV_SPACE

TPM_20_E_NV_SPACE indicates that the TPM cannot reserve enough aggregate nonvolatile storage for the requested allocation. It is a capacity decision for the TPM's NV storage, not a request-range error on an existing index.

What it means in practice

  • Existing NV indices consume finite TPM-managed nonvolatile storage, and the remaining capacity can vary by TPM implementation and provisioning history.
  • A request may fit the maximum size of a single index yet still fail because the aggregate space is exhausted.
  • Allocation may also involve TPM-managed metadata, so free application payload bytes are not the only consideration.

How to investigate safely

  • Enumerate defined NV indices and retain their public metadata before changing anything. The index size, attributes, policy, and Name identify what a deletion would affect.
  • Compare TPM_20_E_NV_SPACE with TPM_20_E_NV_SIZE: the former is total capacity, while the latter is the requested size of one index.
  • Identify obsolete test indices through the product's ownership and provisioning records, not only by handle value.

Avoid destructive retries

TPM2_NV_UndefineSpace is a lifecycle action. Deleting an index can remove a counter, policy anchor, audit state, or encrypted application secret. Reclaim space only when the application has an approved migration or deprovisioning path.

References: TCG TPM 2.0 Library Part 2: Structures, TCG TPM 2.0 Library Part 3: Commands, and tpm2_nvreadpublic.


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